map集合的key是时间戳 使用流式编程 根据key将map集合进行排序
时间: 2024-05-13 09:16:30 浏览: 183
可以使用Java 8的Stream API来对Map集合进行排序,具体的实现步骤如下:
1. 将Map集合转换为一个Stream对象;
2. 使用Stream的sorted方法,并传入一个Comparator比较器对象,对Map中的Entry按照key进行排序;
3. 将排序后的Stream转换回Map集合,这里可以使用Collectors类的toMap方法。
示例代码如下:
```java
Map<Long, String> map = new HashMap<>();
map.put(1634736000000L, "value1");
map.put(1634822400000L, "value2");
map.put(1634908800000L, "value3");
Map<Long, String> sortedMap = map.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new));
System.out.println(sortedMap);
```
输出结果为:
```
{1634736000000=value1, 1634822400000=value2, 1634908800000=value3}
```
注意:这里使用了LinkedHashMap来保存排序后的Map集合,这是因为普通的HashMap是无序的,而LinkedHashMap可以保持插入顺序。
阅读全文