Java学习-工具IDEA-黑马视频(第十三天)

Map集合概述

Interface Map <K,V>:K表示键的类型,V:表示值的类型
Map就是将键映射到值的对象:不能包含重复的键;每个键可以映射到最多一个值

Map的基本方法

        Map<String, String> map = new HashMap<>();

        //将指定的值与该映射中的指定键相关联
        map.put("JYQ","XKA");
        map.put("WST","DBD");
        map.put("WYX","XKA");
        //当键第二次出现则是修改原来的键对应的值
        map.put("WYX","XBB");

        //根据键删除键值对元素,并返回被删除键值对的值
        System.out.println(map);
        System.out.println(map.remove("JYQ"));
        System.out.println(map.remove("JYQ"));//null

//        //移除所有键值对元素
//        map.clear();
//        System.out.println(map);

        //判断集合是否包含指定的键
        System.out.println(map.containsKey("WST"));
        System.out.println(map.containsKey("XZZ"));

        //判断集合是否包含指定的值
        System.out.println(map.containsValue("DBD"));
        System.out.println(map.containsValue("ZZ"));

        //判断集合是否为空
        System.out.println(map.isEmpty());

        //返回集合中键值对的 个数
        System.out.println(map.size());

结果:

{JYQ=XKA, WYX=XBB, WST=DBD}
XKA
null
true
false
true
false
false
2

在这里插入图片描述
在这里插入图片描述
ArrayList嵌套Map
在这里插入图片描述

检查字符串中字符出现次数

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个字符串:");
        String line = sc.nextLine();

//        HashMap<Character,Integer> hm = new HashMap<>();
        TreeMap<Character,Integer> hm = new TreeMap<>();
        for(int i = 0;i<line.length();i++){
            //返回字符串指定位置的字符
            char key = line.charAt(i);
            //去HashMap中查找该字符是否存在
            Integer value = hm .get(key);
            if(value == null){
                hm.put(key,1);
            } else {
                value++;
                hm.put(key,value);
            }
        }
        StringBuilder sb = new StringBuilder();
        Set<Character> keySet = hm.keySet();
        for(Character c : keySet){
            Integer value = hm.get(c);
            sb.append(c).append("(").append(value).append(")");
        }
        String result = sb.toString();
        System.out.println(result);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值