Java集合类之HashMap

时间:2023-03-09 04:23:28
Java集合类之HashMap
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;
} }