(OJ)Java容器-List练习

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");
    }

}

猜你喜欢

转载自blog.csdn.net/qq_40856560/article/details/112604138