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));}// 插入一个工人 Robertpublic 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));}// 插入一个工人 Robertpublic 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);}
}