Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解)

原题:
创建一个 List,在 List 中增加三个工人,基本信息如下:
姓名 年龄 工资
zhang3 18 3000

li4 25 3500

wang5 22 3200

工人有一个行为work。
在 li4 之前插入一个工人,信息为:姓名: zhao6,年龄: 24,工资3300
 删除 wang5 的信息
利用 for 循环遍历,打印 List 中所有工人的信息
利用迭代遍历,对 List 中所有的工人调用 work 方法。
判断该列表中是否包含姓名为张三,年龄18,工资3000的工人信息。
在li4后面插入一个工人信息为:姓名: zhao6,年龄: 24,工资3300

思路:创建一个worker类实现工人要求和一个list类(类名为workdemo)来 进行list操作
代码:list类

     import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;


public class WorkDemo {
public static void main(String[] args) {

ArrayList list = new ArrayList();
/*
 * 插入元素
 */
Worker a1 = new Worker("zhang3",18,3000); 
   Worker a2 = new Worker("li4",19,3500);
   Worker a3 = new Worker("wang5",18,3200);
   list.add(a1);
   list.add(a2);
   list.add(a3);
    for(Worker i : list)
    {
    System.out.println(i);

    }
    /*
 * 执行插入操作,遍历输出
 * 题目要求:在 li4 之前插入一个工人,信息为:姓名: zhao6,年龄: 24,工资 3300
 *         在li4后面插入一个工人信息为:姓名: zhao6,年龄: 24,工资 3300
 */
  System.out.println("执行插入操作:");
  list.add(1,new Worker("zhao6",24,3300));
  list.add(3,new Worker("zhao6",24,3300));
   for(Worker i : list)
    {
    System.out.println(i);

    }
   System.out.println("执行删除操作:");
   /*
    * 用增强for循环遍历查找删除对象的元素,然后删除对象
    * 在循环过程中从List中删除非基本数据类型以后,继续循环List时会报ConcurrentModificationException 
    * 但删除之后马上break就不会出现异常(应该是元素的索引变化的问题)
    * 题目要求: 删除 wang5 的信息
   */
   for(Worker worker : list)
   {
    if(worker.getName().equals("wang5"))
    list.remove(worker);
    break;
   }

   for(Worker i : list)
    {
    System.out.println(i); 
    }

   Iterator iterator = list.iterator();
System.out.println("使用迭代器操作:");
   while(iterator.hasNext()){
    Worker ite = iterator.next();
    System.out.println(ite.getName());
    ite.work();
   }
}
}

worker类

public class Worker {
     private String name;
     private int age;
     private double salary;

public Worker() {
super();
}


public Worker(String name, int age, double salary) {
super();
this.name = name;
this.age = age;
this.salary = salary;
}


public String getName() {
return name;
}


public void setName(String name) {
this.name = name;
}


public int getAge() {
return age;
}


public void setAge(int age) {
this.age = age;
}


public double getSalary() {
return salary;
}


public void setSalary(double salary) {
this.salary = salary;
}


@Override
public String toString() {
return "Worker [name=" + name + ", age=" + age + ", salary=" + salary + "]";
}

public void work()
{
System.out.println("工人要工作");
}
}

输出结果:

你可能感兴趣的:(Java-集合 list对象进行指定位置插入、删除、迭代、遍历输出(具体习题讲解))