hashmap顺序遍历_遍历排序

hashmap顺序遍历_遍历排序hashmap元素排序想要hashmap中的元素有序可以使用linkedHashMap。HashMap<Integer,User>hashMap=newHashMap<>();hashMap.put(1,newUser(“张三”,32));hashMap.put(2,newUser(“张四”,33));hashMap.put(3,newUser(“王五”,22));//将map转换为一个entry类型的lis

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

hashmap元素排序
想要hashmap中的元素有序可以使用linkedHashMap。

HashMap<Integer, User> hashMap = new HashMap<>();
        hashMap.put(1,new User("张三",32));
        hashMap.put(2,new User("张四",33));
        hashMap.put(3,new User("王五",22));
//将map转换为一个entry类型的list,调用comparator进行排序。再返回linkedHashMap。
List<Map.Entry<Integer,User>> list = new ArrayList<Map.Entry<Integer,User>>(entey);
Collections.sort(list, new Comparator<Map.Entry<Integer, User>>() { 
   
            @Override
            public int compare(Map.Entry<Integer, User> o1, Map.Entry<Integer, User> o2) { 
   
                //按照age倒敘排列
                return o2.getValue().getAge()-o1.getValue().getAge();
            }
        });
//創建一個HashMap的子類LinkedHashMap集合
        LinkedHashMap<Integer,User> linkedHashMap = new LinkedHashMap<Integer,User>();
        //將list中的數據存入LinkedHashMap中
        for(Map.Entry<Integer,User> entry:list){ 
   
            linkedHashMap.put(entry.getKey(),entry.getValue());
        }
        return linkedHashMap;}

HashMap的遍历。

Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) { 
   
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) { 
   
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) { 
   
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) { 
   
System.out.println("value= " + v);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195579.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cad怎么删除不需要的部分_cad怎样打印局部图

    cad怎么删除不需要的部分_cad怎样打印局部图1、输入cad修建命令tr,然后按两下回车(记得是两下哦)。2、此时用鼠标点击想要抄修剪的部分就可以把cad多余百的线删除掉了。3、此时会看到蓝色线和紫色线还是多余,我们度选择删除工具,cad删除

    2022年8月1日
    4
  • noip2012借教室_noip小学组

    noip2012借教室_noip小学组这个题首先很容易想到枚举1-m,再一个一个加起来,判断一下(最直白的暴力)于是又很容易想到用差分数组可以优化一下。就像这样#include<iostream>#include<cstdio>usingnamespacestd;constintmaxn=1000005;intd[maxn],s[maxn],t[maxn],r[maxn];…

    2022年8月22日
    3
  • python十进制转二进制函数_python 十六进制转二进制

    python十进制转二进制函数_python 十六进制转二进制Python2python十进制转2进制有内置函数bin方法1:in:bin(1)output:’0b1’方法2:n=int(input(‘请输入要转换进制的数值:’))#x=2#转换为二进制,所以这里取x=2b=[]#存储余数whileTrue:#一直循环,商为0时利用break退出循环…

    2022年10月9日
    0
  • telnet步骤_新手使用iphone教程

    telnet步骤_新手使用iphone教程telnet经常用于测试网络及端口占用情况。具体使用如下:测试端口命令:telnethost端口例:telnet192.168.31.1008081连接失败表示端口未占用。否则表示被占用,如下(8080端口已占用):例:telnet192.168.31.1008080使用快捷键:CTRL+]显示欢迎页面回车输入/会有请求头提示信息。  远…

    2022年9月16日
    1
  • Python语言培训_python文件是怎么打开

    Python语言培训_python文件是怎么打开述(最多18字以下试题内容来源由-众课帮-公众号和小程序提供可查询更多的试题答案新鲜尿液有氨臭味变异性心绞痛患者首选药物是A_______ofdependenceonGMOseedsandchemicalfertilizers,pesticides(杀虫剂),andherbicides(除草剂)isthencreatedinordertogrowasinglecrop.如果要对事物发展变化的未来趋势做出描述,例如对五年后技术变革方向进行预测,通常采..

    2022年9月3日
    5
  • localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化[通俗易懂]

    localdate转date时区问题_时间戳和LocalDateTime和Date互转和格式化[通俗易懂]一前言二时间戳与LocalDateTime互转2.1LocalDateTime转时间戳方式一这边值得一提的是在中国的时区偏移是8小时,本次示例转的时间戳是秒级别,得到的值是一个long值;知识追寻者这边是当前时间,故读者得到的结果与知识追寻者得到的结果不一致;读者可以使用站长工具进行测试校验@TestpublicvoidlocalTimeTest1(){//获得当前时间Local…

    2022年9月27日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号