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