Java<TreeMap按key排序与按照value排序>
来源:互联网 发布:郭德纲合作的网络平台 编辑:程序博客网 时间:2024/05/24 07:06
- TreeMap默认按照key递增排序
public class Main { public static void main(String[] args) { TreeMap<Integer, String> treeMap = new TreeMap<>(); TreeMap<String, Integer> treeMap1 = new TreeMap<>(); treeMap.put(7, "h"); treeMap.put(8, "g"); treeMap.put(9, "f"); treeMap.put(10, "e"); treeMap.put(14, "a"); treeMap.put(1, "w"); treeMap.put(2, "v"); treeMap.put(3, "u"); treeMap.put(11, "d"); treeMap.put(12, "c"); treeMap.put(13, "b"); treeMap.put(4, "k"); treeMap.put(5, "j"); treeMap.put(6, "i"); System.out.println("----------------------*------------------------------"); while (treeMap.size() != 0) { //treemap自动按照key进行递增排序 System.out.println(treeMap.firstEntry().getKey() + " - " + treeMap.firstEntry().getValue()); treeMap1.put(treeMap.firstEntry().getValue(), treeMap.firstEntry().getKey()); treeMap.remove(treeMap.firstKey()); } System.out.println("----------------------*------------------------------"); while (treeMap1.size() != 0) { //treemap自动按照key进行递增排序 System.out.println(treeMap1.firstEntry().getKey() + " - " + treeMap1.firstEntry().getValue()); treeMap1.remove(treeMap1.firstKey()); } System.out.println("----------------------*------------------------------"); }}
得到结果:
----------------------*------------------------------1 - w2 - v3 - u4 - k5 - j6 - i7 - h8 - g9 - f10 - e11 - d12 - c13 - b14 - a----------------------*------------------------------a - 14b - 13c - 12d - 11e - 10f - 9g - 8h - 7i - 6j - 5k - 4u - 3v - 2w - 1----------------------*------------------------------
2.按照value排序
public class Main { public static void main(String[] args) { TreeMap<String, Integer> treeMap = new TreeMap<>(); treeMap.put("s", 2); treeMap.put("w", 5); treeMap.put("d", 1); treeMap.put("f", 0); treeMap.put("h", 9); treeMap.put("q", 22); treeMap.put("a", 25); //按照value排序 List<Map.Entry<String, Integer>> entryArrayList = new ArrayList<>(treeMap.entrySet()); Collections.sort(entryArrayList, Comparator.comparing(Map.Entry::getValue)); System.out.println("----------------------*------------------------------"); for (Map.Entry<String, Integer> entry : entryArrayList) { System.out.println(entry.getKey() + " - " + entry.getValue()); } System.out.println("----------------------*------------------------------"); }}
结果:
----------------------*------------------------------f - 0d - 1s - 2w - 5h - 9q - 22a - 25----------------------*------------------------------
注意:
List<Map.Entry<String, Integer>> entryArrayList = new ArrayList<>(treeMap.entrySet()); Collections.sort(entryArrayList, Comparator.comparing(Map.Entry::getValue));
等价于下面的lamda:
List<Map.Entry<String, Integer>> entryArrayList = new ArrayList<>(treeMap.entrySet()); Collections.sort(entryArrayList, (o1, o2) -> o1.getValue().compareTo(o2.getValue()));
也等价于:
List<Map.Entry<String, Integer>> entryArrayList = new ArrayList<>(treeMap.entrySet()); Collections.sort(entryArrayList, new Comparator<Map.Entry<String, Integer>>() { @Override public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o1.getValue().compareTo(o2.getValue()); } });
阅读全文
0 0
- Java<TreeMap按key排序与按照value排序>
- HashMap与TreeMap按照key和value排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap按照key排序
- TreeMap按照key排序
- 下面结合代码介绍HashMap与TreeMap按照key和value排序。
- TreeMap按照value进行排序
- TreeMap按照value进行排序
- TreeMap按照value进行排序
- java--TreeMap按key和value分别排序
- TreeMap集合如何按照Value进行排序
- 对TreeMap按照value进行排序
- TreeMap按key排序
- Java Map集合按照key和value排序之法
- Map按照Key排序和Map按照Value排序
- 关联容器map按照value排序或者按照key排序
- 精通CSS第四章灵活的圆角框&border-radius
- ECMAScript6(10):Symbol基本类型
- AOJ0558 Cheese【BFS】
- springmvc常用注解
- 二叉搜索树的删除
- Java<TreeMap按key排序与按照value排序>
- IDEA激活方法
- nginx知识小结
- HTML5+CSS3从入门到精通书籍配套源码
- OSPF 5类 LSA 记忆
- P1725 琪露诺
- 【LintCode】买卖股票的最佳时机
- file and directory
- 基于大数据分析平台现状 规划和划分微服务粒