练习——简单的MapExercise

发布时间 2023-04-14 18:56:01作者: Q1uuuu
package com.collection_.map_;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
使用HashMap添加3个员工对象,要求
键:员工id
值:员工对象
并遍历显示工资>18000的员工(遍历方式最少两种)
员工类:姓名、工资、员工id

 */
@SuppressWarnings({"all"})
public class MapExercise {
    public static void main(String[] args) {

        HashMap hashMap = new HashMap();
        //添加对象
        hashMap.put(1,new Emp("paul",18000,1));
        hashMap.put(2,new Emp("pete",19000,2));
        hashMap.put(3,new Emp("jay",18001,3));

        //遍历
        //1.使用keySet - 增强for
        Set keySet = hashMap.keySet();
        for (Object ks : keySet) {
            //先获取value
            Emp emp = (Emp) hashMap.get(ks);
            if (emp.getSal() > 18000){
                System.out.println(emp);
            }
        }


        System.out.println("======================");
        //2.使用EntrySet  - 迭代器
        Set entrySet = hashMap.entrySet();
        Iterator iterator = entrySet.iterator();
        while (iterator.hasNext()) {
            Object es =  iterator.next();
            Map.Entry es1 = (Map.Entry) es;
            Emp mm2 = (Emp) es1.getValue();
            if (mm2.getSal() > 18000){
                System.out.println(mm2);
            }
        }
    }
}
class Emp{
    private String name;
    private double sal;
    private int id;

    public Emp(String name, double sal, int id) {
        this.name = name;
        this.sal = sal;
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSal() {
        return sal;
    }

    public void setSal(double sal) {
        this.sal = sal;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "Emp{" +
                "name='" + name + '\'' +
                ", sal=" + sal +
                ", id=" + id +
                '}';
    }
}