1.题目描述
运用List完成下面的要求:
1) 创建一个List,在List中增加三个工人,基本信息如下:
姓名 年龄 工资
Tom 18 3000
Peter 25 3500
Mark 22 3200
2) 插入一个工人,信息为:姓名:Robert,年龄:24,工资3300
3) 删除姓名为"Mark"的工人
4) 利用for 循环遍历,打印List中所有工人的信息
5) 利用迭代遍历,对List中所有的工人调用work方法。
完成下列代码:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Worker{
private int age;
private String name;
private double salary;
public Worker(String name,int age,double salary)
// 你的代码嵌入这里
class Main{
public static void main(String [] args){
workerHelper wh = new workerHelper();
List<Worker> ls = new ArrayList<>();
wh.add(ls);
wh.append(ls);
wh.del(ls,"Mark");
wh.print(ls);
wh.callwork(ls);
}
}
2.输出描述
Workers info:Tom 18 3000.0
Workers info:Peter 25 3500.0
Workers info:Robert 24 3300.0
Tom work
Peter work
Robert work
3.代码实现
1.提交代码
{
this.name = name;
this.age = age;
this.salary = salary;
}
public void work() {
System.out.println(this.name + " work");
}
// Getter 方法用于访问属性
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
}
class workerHelper {
// 添加初始三个工人
public void add(List<Worker> list) {
list.add(new Worker("Tom", 18, 3000));
list.add(new Worker("Peter", 25, 3500));
list.add(new Worker("Mark", 22, 3200));
}
// 插入一个工人 Robert
public void append(List<Worker> list) {
list.add(new Worker("Robert", 24, 3300));
}
// 删除姓名为 mark 的工人
public void del(List<Worker> list, String name) {
list.removeIf(worker -> worker.getName().equals(name));
}
// 使用 for 循环打印所有工人信息
public void print(List<Worker> list) {
for (Worker worker : list) {
System.out.println("Workers info:" + worker.getName() + " " + worker.getAge() + " " + worker.getSalary());
}
}
// 使用 Iterator 遍历并调用 work 方法
public void callwork(List<Worker> list) {
Iterator<Worker> iterator = list.iterator();
while (iterator.hasNext()) {
Worker worker = iterator.next();
worker.work();
}
}
}
2.完整代码
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class Worker {
private int age;
private String name;
private double salary;
public Worker(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public void work() {
System.out.println(this.name + " work");
}
// Getter 方法用于访问属性
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
}
class workerHelper {
// 添加初始三个工人
public void add(List<Worker> list) {
list.add(new Worker("Tom", 18, 3000));
list.add(new Worker("Peter", 25, 3500));
list.add(new Worker("Mark", 22, 3200));
}
// 插入一个工人 Robert
public void append(List<Worker> list) {
list.add(new Worker("Robert", 24, 3300));
}
// 删除姓名为 mark 的工人
public void del(List<Worker> list, String name) {
list.removeIf(worker -> worker.getName().equals(name));
}
// 使用 for 循环打印所有工人信息
public void print(List<Worker> list) {
for (Worker worker : list) {
System.out.println("Workers info:" + worker.getName() + " " + worker.getAge() + " " + worker.getSalary());
}
}
// 使用 Iterator 遍历并调用 work 方法
public void callwork(List<Worker> list) {
Iterator<Worker> iterator = list.iterator();
while (iterator.hasNext()) {
Worker worker = iterator.next();
worker.work();
}
}
}
public class Main {
public static void main(String[] args) {
workerHelper wh = new workerHelper();
List<Worker> ls = new ArrayList<>();
wh.add(ls);
wh.append(ls);
wh.del(ls, "Mark");
wh.print(ls);
wh.callwork(ls);
}
}