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)
上一篇 2025年10月14日 下午3:15
下一篇 2025年10月14日 下午3:43


相关推荐

  • 网页设计css导航链接怎么做,如何用DIV+CSS制作导航条

    网页设计css导航链接怎么做,如何用DIV+CSS制作导航条一个蓝色主题的导航条布局案例,本CSS小实例,采用DIVCSS实现。同时不用图片做背景,直接使用背景色实现,鼠标经过悬停对应栏目名称是对应背景蓝色变深。一般导航条采用ulli列表布局,这里也不例外DIVCSS5实例也采用列表标签ulli+CSS布局。这样的导航条有以下二部分代码组成。1、CSS代码:ul#nav{width:100%;height:60px;background:#…

    2022年7月22日
    11
  • 十大思维导图软件推荐

    十大思维导图软件推荐1 GitMindGitMi 是一款电脑上好用的免费在线思维导图软件 主要功能有大纲视图 一键自动布局 多人云协作 插入富文本 批量管理文件 格式刷 自定义主题 快速查看历史版本 插入关系线 添加概括 一键分享思维导图 多格式文本导出 电脑手机云同步等等 可用来轻松制作思维导图 逻辑结构图 业务流程图 UML 图 组织架构图 拓扑图以及数据流图等等 适用于做读书笔记 项目规划 会议记录以及头脑风暴 产品规划等 主要特点 免费无广告 简单易上手支持自由设计主题样式和风格可以导出 PD

    2026年3月18日
    2
  • 上传文件,页面崩溃

    上传文件,页面崩溃生产环境数据字典没维护坐标朝向和库位类型 导入仓库坐标数据会导致页面崩溃问题分析 分析是由于报错数据量太大 前端把错误信息解析成字符串的过程中导致的崩溃 在错误信息超过 5000 条 页面会有崩溃风险 解决方案 a 后端控制报错信息的数量或数据结构 优先 b 前端对报错信息截取处理

    2026年3月17日
    2
  • HBase常见面试题[通俗易懂]

    HBase常见面试题[通俗易懂]1.HBase简单读写流程?读:找到要读数据的region所在的RegionServer,然后按照以下顺序进行读取:先去BlockCache读取,若BlockCache没有,则到Memstore读取,若Memstore中没有,则到HFile中去读。写:找到要写数据的region所在的RegionServer,然后先将数据写到WAL(Write-AheadLogging,预写日志系统)中,然后再将数据写到Memstore等待刷新,回复客户端写入完成。2.简述HBase的瓶颈HBase的瓶

    2022年5月31日
    34
  • C++超市管理系统(直接可以运行)

    C++超市管理系统(直接可以运行)C 超市管理系统心得写这个东西最重要环节不是上手去实现代码 而是再此之前的整体的系统分析 分析整个系统所需要定义的类 以及不同类实现的功能 以及类与类之间的消息的传递 最重要的还有模块之间的解耦 为后续的迭代 二次开发打好基础 由于还有两天就开学了 所以本人直接就略过最重要的一步系统分析 直接开始敲了 边敲边考虑类的设计 这样导致的结果就是类所属功能的划分不够明确 部分代码冗余 以及为了实现老师作业中的几个继承组合的要求 导致整个系统有些地方并不是十分合理 本系统只是实现了最基本的功能模块 且进货

    2026年3月18日
    2
  • 通义千问2.5-7B低功耗部署:树莓派也能跑的轻量方案

    通义千问2.5-7B低功耗部署:树莓派也能跑的轻量方案

    2026年3月15日
    2

发表回复

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

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