当前位置:网站首页 > 技术博客 > 正文

java map集合排序



Java TreeMap

可以按照

value 排序

,可以通过

实现

Comparator接口来

实现

。具体步骤如下:

1. 创建一个

实现

Comparator接口的类,重写compare方法,比较两个

value

的大小。

2. 创建一个

TreeMap

对象,并将

实现

了Comparator接口的类作为参数传入。

3. 将需要

排序

对添加到

TreeMap

中。

4. 使用entrySet()方法获取

TreeMap

中的所有

对,并将其转换为List。

5. 使用Collections.sort()方法对List进行

排序

6. 遍历

排序

后的List,输出

对。

示例代码如下:

 import java .util.*;  public class TreeMap SortBy Value { public static void main(String[] args) { // 创建一个 实现 Comparator接口的类  Value Comparator vc = new Value Comparator(); // 创建一个 TreeMap 对象,并将 实现 了Comparator接口的类作为参数传入  TreeMap <String, Integer> map = new TreeMap <>(vc); // 将需要 排序    对添加到 TreeMap  map.put("apple", 10); map.put("banana", 5); map.put("orange", 8); // 使用entrySet()方法获取 TreeMap 中的所有   对,并将其转换为List List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet()); // 使用Collections.sort()方法对List进行 排序 Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o1.get Value ().compareTo(o2.get Value ()); } }); // 遍历 排序 后的List,输出    for (Map.Entry<String, Integer> entry : list) { System.out.println(entry.get Key () + " : " + entry.get Value ()); } } }  // 实现 Comparator接口的类 class Value Comparator implements Comparator<String> { Map<String, Integer> map = new HashMap<>(); public Value Comparator() {} public Value Comparator(Map<String, Integer> map) { this.map.putAll(map); } @Override public int compare(String s1, String s2) { if (map.get(s1) >= map.get(s2)) { return 1; } else { return -1; } } } 

  • 上一篇: stream.of方法
  • 下一篇: linux 执行多个命令
  • 版权声明


    相关文章:

  • stream.of方法2024-12-10 08:01:05
  • 梯度提升树分类算法2024-12-10 08:01:05
  • redis教程常用命令2024-12-10 08:01:05
  • libxml2使用2024-12-10 08:01:05
  • 应用层协议主要有哪些?2024-12-10 08:01:05
  • linux 执行多个命令2024-12-10 08:01:05
  • 通信原理代码2024-12-10 08:01:05
  • boot u启动2024-12-10 08:01:05
  • java设置代理2024-12-10 08:01:05
  • 地理空间数据索引2024-12-10 08:01:05