当前位置: 首页 > web >正文

Problem E: List练习

1.题目描述

运用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);
        }
}
 

2.输出描述

Workers info:Tom 18 3000.0
Workers info:Peter 25 3500.0
Workers info:Robert 24 3300.0
Tom work
Peter work
Robert work

3.代码实现

1.提交代码

{this.name = name;this.age = age;this.salary = salary;}public void work() {System.out.println(this.name + " work");}// Getter 方法用于访问属性public String getName() {return name;}public int getAge() {return age;}public double getSalary() {return salary;}
}class workerHelper {// 添加初始三个工人public void add(List<Worker> list) {list.add(new Worker("Tom", 18, 3000));list.add(new Worker("Peter", 25, 3500));list.add(new Worker("Mark", 22, 3200));}// 插入一个工人 Robertpublic void append(List<Worker> list) {list.add(new Worker("Robert", 24, 3300));}// 删除姓名为 mark 的工人public void del(List<Worker> list, String name) {list.removeIf(worker -> worker.getName().equals(name));}// 使用 for 循环打印所有工人信息public void print(List<Worker> list) {for (Worker worker : list) {System.out.println("Workers info:" + worker.getName() + " " + worker.getAge() + " " + worker.getSalary());}}// 使用 Iterator 遍历并调用 work 方法public void callwork(List<Worker> list) {Iterator<Worker> iterator = list.iterator();while (iterator.hasNext()) {Worker worker = iterator.next();worker.work();}}
}

2.完整代码

 

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) {this.name = name;this.age = age;this.salary = salary;}public void work() {System.out.println(this.name + " work");}// Getter 方法用于访问属性public String getName() {return name;}public int getAge() {return age;}public double getSalary() {return salary;}
}class workerHelper {// 添加初始三个工人public void add(List<Worker> list) {list.add(new Worker("Tom", 18, 3000));list.add(new Worker("Peter", 25, 3500));list.add(new Worker("Mark", 22, 3200));}// 插入一个工人 Robertpublic void append(List<Worker> list) {list.add(new Worker("Robert", 24, 3300));}// 删除姓名为 mark 的工人public void del(List<Worker> list, String name) {list.removeIf(worker -> worker.getName().equals(name));}// 使用 for 循环打印所有工人信息public void print(List<Worker> list) {for (Worker worker : list) {System.out.println("Workers info:" + worker.getName() + " " + worker.getAge() + " " + worker.getSalary());}}// 使用 Iterator 遍历并调用 work 方法public void callwork(List<Worker> list) {Iterator<Worker> iterator = list.iterator();while (iterator.hasNext()) {Worker worker = iterator.next();worker.work();}}
}public 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);}
}

http://www.xdnf.cn/news/6320.html

相关文章:

  • 力扣刷题(第二十六天)
  • 运筹说 第136期 | 其他类型对策简介之合作对策
  • BGP联邦和发射试验
  • Linux wlan 单频段 dual wifi创建
  • git中忽略文件.gitignore文件的用法
  • 2025年AI开发者在开发者占比?
  • 进阶2_1:QT5多线程与定时器共生死
  • 深度剖析火狐飞鸟 MIP 泛目录程序:技术原理与实践应用
  • .NET程序启动就报错,如何截获初期化时的问题json
  • E. 23 Kingdom【Codeforces Round 1024 (Div. 2)】
  • 1669上什么课
  • day29-IO(其他流)
  • Java基础(多线程1)
  • 鸿蒙-5.1.0-release构建编译环境
  • 分割等和子集习题分析
  • HCIP(OSPF的拓展配置及选路规则)
  • 矩阵乘法的优化与复杂度分析
  • 一个日志量突增的问题分析处理经历
  • 普通IT的股票交易成长史--20250514复盘
  • 机器学习任务的常用评估指标
  • JVM内存模型
  • 前端面试题:vue3 为什么不需要时间分片?
  • Linux程序设计--期末复习
  • 企业网络新选择:软件定义架构下的MPLS
  • 【Docker】Windows10环境下安装DockerDesktop
  • TCP 三次握手建立连接详解
  • C2S-Scale:Cell2Sentence v2
  • 在星河社区学习PARL使用强化学习来训练AI
  • C#高级编程:IO和序列化
  • linux内核主要由哪五个模块构成?