public class Worker { private int age; private String name; private double salary; public Worker (){ } public Worker (String name, int age, double salary){ this.name = name; this.age = age; this.salary = salary; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSalary(){ return salary; } public void setSalary(double salary){ this.salary = salary; } public void work(){ System.out.println(name + " work"); } @Override public String toString() { return "Worker{" + "age=" + age + ", name='" + name + '\'' + ", salary=" + salary + '}'; } public static void main(String[] args) { List<Worker> list = new ArrayList<Worker>(); Worker zhang3 = new Worker("zhang3",18,3000); Worker li4 =new Worker("li4",25,3500); Worker wang5 =new Worker("wang5",22,3200); Worker zhao6 = new Worker("zhao6",24,3300); list.add(zhang3); //添加zhang3 list.add(li4); //添加li4 list.add(wang5); //添加wang5 System.out.println(list); //寻找li4的下标 int index = 0; for (int i = 0; i < list.size(); i++) { if(list.get(i).getName().equals("li4")){ index = i; } } System.out.println("li4在集合中的下标:"+index); list.add(index,zhao6); //在li4前插入zhao6 System.out.println(list);//这是插入zhao6的结果 Iterator<Worker> it = list.iterator(); //删除wang5 while (it.hasNext()){ Worker worker = it.next(); if (worker.getName().equals("wang5")){ //如果名字是wang5 it.remove(); //删除 注意一定使用迭代器提供的删除方法 否则会报错 } } System.out.println(list); //for循环遍历 // for (int i = 0; i < list.size(); i++) { // System.out.println(list.get(i)); // } //增强for循环 for (Worker worker :list){ System.out.println(worker); } for (Worker i : list){ i.work(); } } }
创建链表,实现插入、删除信息,for循环遍历链表,利用迭代遍历,对List 中所有的工人调用work 方法。
于 2023-01-06 19:16:24 首次发布