Java-集合练习题 续

第一题:定义一个Map接口类型的变量,引用HashMap实现类,添加键值对,完成以下需求(从1到5按顺序执行):
1、判断集合中是否包含某一key值,并通过某一key值得到value值,并打印出来;
2、通过某一key删除键值对;
把另一个map集合添加到此map集合
3、返回集合里key-value对的个数,并打印出来个数和集合中的全部元素。
4、判断是否为空,是则清除集合。

public class HashMapDemo {
    
    
    public static void main(String[] args) {
    
    
        //创建Map对象
        Map map = new HashMap();
        //添加键值对
        map.put(1, "正神黄天禄");
        map.put(2, "正神黄天翔");
        map.put(3, "正神黄天化");
        map.put(4, "东岳大帝");
        map.put(5, "青辉武神");
        //判断集合中是否包含某一key值,并通过某一key值得到value值,并打印出来;
        if (map.containsKey(4) == true) {
    
    
            System.out.println(map.get(4));
        }
        //通过某一key删除键值对;
        map.remove(1);
        Map map1 = new HashMap();
        map1.put(6, "娃哈哈");
        map1.put(7, "康师傅");
        map1.put(8, "可口可乐");
        //把另一个map集合添加到此map集合
        map.putAll(map1);
        //返回集合里key-value对的个数,并打印出来个数和集合中的全部元素。
       Collection values = map.values();
        for (Object value:values) {
    
    
            System.out.println(value);
            }
        //判断是否为空,是则清除集合。
        if (map.isEmpty()) {
    
    
            map.clear();
            }
        }
    }

在这里插入图片描述

第二题:使用Map接口的实现类完成员工工资(姓名–工资)的摸拟:
1)添加几条信息
2)列出所有的员工姓名
3列出所有员工姓名及其工资
4)删除名叫“Tom”的员工信息
5)输出Jack的工资,并将其工资加1000元(通过取值实现)
6)将所有工资低于1000元的员工的工资上涨20%(通过取值实现)

public class HashMapDemo01 {
    
    
    public static void main(String[] args) {
    
    
        //列出所有员工姓名及其工资
        LinkedHashMap link = new LinkedHashMap();
        link.put("Tom", 800);
        link.put("Toy", 1500);
        link.put("Stank", 2000);
        link.put("Park", 700);
        link.put("Jack", 1200);
        //列出所有的员工姓名
        Set set = link.keySet();
        System.out.println("所有的员工姓名:");
        for (Object o : set) {
    
    
            System.out.println(o);
        }
        //列出所有员工姓名及其工资
        Set set1 = link.entrySet();
        System.out.println("所有员工姓名及其工资:");
        for (Object o : set1) {
    
    
            Map.Entry entry = (Map.Entry) o;
            System.out.println(entry.getKey() + "," + entry.getValue());
        }
        //删除名叫“Tom”的员工信息
        link.remove("Tom");
        //输出Jack的工资,并将其工资加1000元(通过取值实现)
        System.out.println("Jack的工资为:" + link.get("Jack"));
        //将所有工资低于1000元的员工的工资上涨20%(通过取值实现)
        Set set2 = link.entrySet();
        for (Object o : set1) {
    
    
            Map.Entry entry = (Map.Entry) o;
            System.out.println("上涨后的工资为:");
            if (((int)entry.getValue())< 1000) {
    
    
                link.put((String)entry.getKey(), (int)entry.getValue()*1.2);
            }
        }
        System.out.println(link);
    }
}

在这里插入图片描述
第三题:使用HashMap存放国家名称信息并打印,创建Main类,在其main方法中一个HashMap对象ht,将数个国家的信息加入其中,加入国家信息时,以国家英文缩写(字符串类型)为key,国家中文名称(字符串类型)为value
资料:
CA-加拿大(CANADA)
CF-中非(CENTRAL AFRICA)
CG-刚果(CONGO)
CH-瑞士(SWITZERLAND)
CL-智利(CHILE)
CM-喀麦隆(CAMEROON)
CN-中国(CHINA)
CO-哥伦比亚(COLOMBIA)
CR-哥斯达黎加(COSTA RICA)
CS-捷克(CZECH REPUBIC)
CU-古巴(CUBA)
CY-塞浦路斯(CYPRUS)
DE-德 国(GERMANY)
DK-丹麦(DENMARK)
DO-多米尼加共和国(DOMINICAN REPUBLIC)
DZ-阿尔及利亚(ALGERIA)
任务要求
1.查询CA国家信息,如果存在并打印其国家中文名称,不存在则提示“无此国家”。
2.显示集合中一共有多少个国家;
3.输出所有国家简称
4.输出所有国家值

public class Main {
    
    
    public static void main(String[] args) {
    
    
        //创建HashMap对象ht
        HashMap ht = new HashMap();
        //map集合是键值对(key-value)的方法来储存数据
        ht.put("CA","加拿大(CANADA)");
        ht.put("CF","中非(CENTRAL AFRICA)");
        ht.put("CG","刚果(CONGO)");
        ht.put("CH","瑞士(SWITZERLAND)");
        ht.put("CL","智利(CHILE)");
        ht.put("CM","喀麦隆(CAMEROON)");
        ht.put("CN","中国(CHINA)");
        ht.put("CO","哥伦比亚(COLOMBIA)");
        ht.put("CR","哥斯达黎加(COSTA RICA)");
        ht.put("CS","捷克(CZECH REPUBIC)");
        ht.put("CU","古巴(CUBA)");
        ht.put("CY","塞浦路斯(CYPRUS)");
        ht.put("DE","德 国(GERMANY)");
        ht.put("DK","丹麦(DENMARK)");
        ht.put("DO","多米尼加共和国(DOMINICAN REPUBLIC)");
        ht.put("DZ","阿尔及利亚(ALGERIA)");
        if (ht.get("CA") != null) {
    
    
            System.out.println("国家中文名称:"+ht.get("CA"));
        }else{
    
    
            System.out.println("无此国家");
        }
        System.out.println("一共有"+ht.size()+"个国家");
        //Set keySet():返回所有key构成的Set集合
        Set set = ht.keySet();
        for (Object o:set) {
    
    
            System.out.println(o);
        }
        //Set keySet():返回所有key构成的Set集合
        Collection values = ht.values();
        for (Object value: values) {
    
    
            System.out.println(value);
        }
    }
}
```![在这里插入图片描述](https://img-blog.csdnimg.cn/2021011918570779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5MzMzNw==,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119185709310.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5MzMzNw==,size_16,color_FFFFFF,t_70)

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210119185716570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDE5MzMzNw==,size_16,color_FFFFFF,t_70)

猜你喜欢

转载自blog.csdn.net/weixin_44193337/article/details/112849751