List练习
Problem Description
运用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);
}
}
Output Description
Workers info:Tom 18 3000.0
Workers info:Peter 25 3500.0
Workers info:Robert 24 3300.0
Tom work
Peter work
Robert work
解题代码
// 这题是一个代码补全题
// Worker类的带参构造方法
{
this.name = name;
this.age = age;
this.salary = salary;
}
// get set
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;
}
// toString
@Override
public String toString() {
return "Workers info:"+name +" " + age + " " + salary;
}
}
// workerHelper类 用于处理存储worker的List集合数据
// workerHelper不规范 应该改为WorkerHelper
class workerHelper{
// 添加Worker 传入一个worker的List集合
void add(List<Worker> ls) {
// 创建三个woerker对象 具体的信息根据题目
Worker tom = new Worker("Tom", 18, 3000);
Worker peter = new Worker("Peter", 25, 3500);
Worker mark = new Worker("Mark", 22, 3200);
// 将三个worker对象存入List集合
ls.add(tom);
ls.add(peter);
ls.add(mark);
}
// 向List集合中添加worker对象
void append(List<Worker> ls){
Worker robert = new Worker("Robert", 25, 3300);
ls.add(robert);
}
// 将List集合中的worker对象删除 根据worker姓名
void del(List<Worker> ls,String name){
int index = -1;
// 遍历list集合 查找要删除worker对象的索引
for (Worker w : ls){
if (w.getName().equals(name)) index = ls.indexOf(w);
}
// 如果找到了 就删除
if (index != -1) ls.remove(index);
}
// 打印List集合中所有worker信息
void print(List<Worker> ls){
for (Worker w : ls) System.out.println(w);
}
// 呼叫List集合中所有worker对象
void callwork(List<Worker> ls){
for (Worker w: ls) System.out.println(w.getName() + " work");
}
}