Map集合类型排序java实现

Map集合类型排序java实现在 Java 中 集合是一种常用的数据结构 用于存储和组织数据

大家好,欢迎来到IT知识分享网。

前言

一、Map的排序方式

二、根据键排序

import java.util.*; public class MapSortExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 3); map.put("banana", 2); map.put("orange", 4); map.put("pear", 1); List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet()); Collections.sort(list, (o1, o2) -> o1.getKey().compareTo(o2.getKey())); Map<String, Integer> sortedMap = new LinkedHashMap<>(); for (Map.Entry<String, Integer> entry : list) { sortedMap.put(entry.getKey(), entry.getValue()); } System.out.println(sortedMap); } }

上述代码中,我们首先创建了一个存储键值对的Map对象,并向其中添加几个键值对。然后,我们将Map转换为List,并使用sorted()方法对List进行排序,排序规则是根据键的升序进行排序。最后,我们将排序后的结果存储到一个新的Map对象中,并输出结果。

三、根据值排序

对Map按照值进行排序稍微复杂一些,需要借助于Java 8引入的Stream和Lambda表达式,以及一个比较器来指定排序规则。具体步骤如下:

import java.util.*; public class MapSortExample { public static void main(String[] args) { Map<String, Integer> map = new HashMap<>(); map.put("apple", 3); map.put("banana", 2); map.put("orange", 4); map.put("pear", 1); List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet()); Collections.sort(list, (o1, o2) -> o1.getValue().compareTo(o2.getValue())); Map<String, Integer> sortedMap = new LinkedHashMap<>(); for (Map.Entry<String, Integer> entry : list) { sortedMap.put(entry.getKey(), entry.getValue()); } System.out.println(sortedMap); } }

上述代码中,我们首先创建了一个存储键值对的Map对象,并向其中添加几个键值对。然后,我们将Map转换为List,并使用sorted()方法对List进行排序,排序规则是根据值的升序进行排序。最后,我们将排序后的结果存储到一个新的Map对象中,并输出结果。

四、根据键值对排序

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120731.html

(0)
上一篇 2025-10-27 21:00
下一篇 2025-10-27 21:15

相关推荐

发表回复

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

关注微信