栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Map的遍历、排序等问题

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Map的遍历、排序等问题

1.map的遍历
        // 创建 HashMap 对象map
        Map map = new HashMap();
        // 返回所有 key 值
        for (Integer i : map.keySet()) {
            System.out.println("key: " + i);
        }
        // 返回所有 value 值
        for(String value: map.values()) {
          System.out.println("value: " + value);
        }
        for(Entry entry: map.entrySet()) {
            System.out.println(entry);
            System.out.println("key:"+entry.getKey());
            System.out.println("value:"+entry.getValue());
        }
2.对map进行排序 (1)根据map的value进行排序,先将map转为list,再用sort方法
		Map map=new HashMap<>()
        //注意 ArrayList<>() 括号里要传入map.entrySet()
        List> list = new ArrayList<>(map.entrySet());
        Collections.sort(list, new Comparator>()
        {
            @Override
            public int compare(Map.Entry o1, Map.Entry o2)
            {
                  //按照value值,从小到大排序
//                return o1.getValue() - o2.getValue();

                //按照value值,从大到小排序
//                return o2.getValue() - o1.getValue();

                //按照value值,用compareTo()方法默认是从小到大排序
                return o1.getValue().compareTo(o2.getValue());
            }
        });
        String[][] ans=new String[k][2];
        //注意这里遍历的是list,也就是我们将map.Entry放进了list,排序后的集合
        for(int i=0;i 
(2)根据map的key进行排序,利用TreeMap 

1.无序,不允许重复(无序指元素顺序与添加顺序不一致)
2.TreeMap集合默认会对key进行升序排序,所以键必须实现自然排序和定制排序中的一种,可以通过使用Comparator接口自定义元素的排序
3…底层使用的数据结构是二叉树

//TreeMap默认按key升序排列
Map map = new TreeMap<>();
//TreeMap默认按key降序排列
Map map = new TreeMap<>(Collections.reverseOrder());
3.HashMap 与 linkedHashMap

1.HashMap 是无序的,即不会记录插入的顺序。最多允许一条记录的key为 null,不支持线程同步。

2.linkedHashMap是HashMap的子类,它内部有一个链表,保持插入的顺序。迭代的时候,也是按照插入顺序迭代,

        Map map=new HashMap();
        Map map2=new linkedHashMap();
4.map赋值
        Map map=Map.of(1,"google",2,"baidu");

5.map.getOrDefault()

getOrDefault():获取指定 key 对应对 value,如果找不到 key ,则返回设置的默认值

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737395.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号