package com.test; import java.util.*; public class Demo7_3 { public static void main(String[] args) { // TODO Auto-generated method stub Emp emp1 = new Emp("s001", "aaa", 12.3f); Emp emp2 = new Emp("s002", "bbb", 5.3f); Emp emp3 = new Emp("s003", "李逵", 52f); //创建一个HashMap对象 HashMap hm = new HashMap(); //将emp放入到hm hm.put("s001", emp1); hm.put("s002", emp2); //会将前面的值覆盖,不允许k重复 //hm.put("s002", emp3); hm.put("s003", emp3); //如果你要查找编号是s002的人 if(hm.containsKey("s002"))//返回布尔值 { System.out.println("有该员工"); //如何取出,键<-->值 Emp emp = (Emp)hm.get("s002"); System.out.println("员工姓名是"+emp.getName()); } else { System.out.println("没有该员工"); } //遍历HashMap中所有的key和value //迭代器 Iterator it = hm.keySet().iterator(); //hasNext返回一个boolean值,看看是否还有下一个 //HashMap取出来的是乱序的,不是按照预先的顺序取出 while(it.hasNext()) { //取出key it.next()返回的是object类型,用toString转换成字符串 //根据自己之前所写的键值的数据类型,定义相应数据类型的变量来接收 String key = it.next().toString(); Emp emp = (Emp)hm.get(key); System.out.println("名字是"+emp.getName()); System.out.println("薪水是"+emp.getSal()); } } } //雇员管理类 class EmpManage { private ArrayList al = null; // 构造函数最主要的作用就是初始化成员变量 public EmpManage() { al = new ArrayList(); } // 加入员工 public void addEmp(Emp emp) { al.add(emp); } // 根据员工号显示该员工的相关信息 public void showInfo(String empNo) { // 遍历整个ArrayList for (int i = 0; i < al.size(); i++) { // 取出Emp对象 Emp emp = (Emp) al.get(i); // 比较编号 if (emp.getEmpNo().equals(empNo)) { System.out.println("找到该员工,他的信息是"); System.out.println("编号=" + empNo); System.out.println("名字=" + emp.getName()); System.out.println("工资=" + emp.getSal()); } } } // 修改工资 public void updateSal(String empNo, float newSal) { for (int i = 0; i < al.size(); i++) { Emp emp = (Emp) al.get(i); if (emp.getEmpNo().equals(empNo)) { // 修改薪水 emp.setSal(newSal); } } } // 删除员工 public void delEmp(String empNo) { for (int i = 0; i < al.size(); i++) { Emp emp = (Emp) al.get(i); if (emp.getEmpNo().equals(empNo)) { // 两种删除方式都可以 al.remove(i); // al.remove(emp); } } } } //雇员类 class Emp { // 学号 private String empNo; private String name; private float sal; // 构造函数 public Emp(String empNo, String name, float sal) { super(); this.empNo = empNo; this.name = name; this.sal = sal; } public String getEmpNo() { return empNo; } public void setEmpNo(String empNo) { this.empNo = empNo; } public String getName() { return name; } public void setName(String name) { this.name = name; } public float getSal() { return sal; } public void setSal(float sal) { this.sal = sal; } }
时间: 2024-11-05 23:50:58