您的位置:首页 > 编程语言 > Java开发

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

2017-12-10 20:38 651 查看
原题:

创建一个 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<Worker> list = new ArrayList<Worker>();
/*
* 插入元素
*/
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<Worker> i
a95c
terator = 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("工人要工作");
}
}


输出结果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐