练习——简单的MapExercise

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 +
                '}';
    }
}
posted @   Q1uuuu  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示