java集合从大到小输出_Java Map实现按value从大到小排序
时间: 2023-09-11 22:11:29 浏览: 91
Java集合可以使用Collections.reverseOrder()方法来实现从大到小排序。例如,如果要对一个List<Integer>类型的集合进行从大到小排序,可以使用以下代码:
```
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(5);
list.add(2);
Collections.sort(list, Collections.reverseOrder());
System.out.println(list);
```
对于Map类型的集合,可以使用Java 8的Stream API来实现按value从大到小排序。例如:
```
Map<String, Integer> map = new HashMap<>();
map.put("A", 3);
map.put("B", 1);
map.put("C", 5);
map.put("D", 2);
List<Map.Entry<String, Integer>> sortedList = map.entrySet().stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByValue()))
.collect(Collectors.toList());
System.out.println(sortedList);
```
以上代码会输出按value从大到小排序后的Map.Entry列表。如果需要将排序后的结果放入一个新的Map中,则可以使用LinkedHashMap来保持插入顺序。例如:
```
Map<String, Integer> sortedMap = new LinkedHashMap<>();
sortedList.forEach(entry -> sortedMap.put(entry.getKey(), entry.getValue()));
System.out.println(sortedMap);
```
阅读全文