map key倒序 stream
时间: 2023-09-06 20:11:01 浏览: 41
如果你想对一个Map的key进行倒序排列,可以使用Java 8中的Stream API来实现。具体的做法是,将Map转换为一个Entry流,然后按照key进行排序,最后使用Collectors.toMap()方法将结果收集为一个新的Map对象。
下面是一个示例代码:
```java
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(3, "C");
map.put(2, "B");
Map<Integer, String> reversedMap = map.entrySet()
.stream()
.sorted(Collections.reverseOrder(Map.Entry.comparingByKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new));
System.out.println(reversedMap);
```
输出结果为:
```
{3=C, 2=B, 1=A}
```
可以看到,原来的Map中的key是按照升序排列的,而通过上述代码可以将其转换为按照降序排列的新Map对象。注意,这里使用了LinkedHashMap来保证顺序不变。