利用Java8 stream对Map排序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用Java8 stream对Map排序相关的知识,希望对你有一定的参考价值。
原文地址:
https://blog.csdn.net/u013719012/article/details/82117477
import java.util.*;
import java.util.stream.Collectors;
public class Main2 {
public static void main(String[] args) {
Map<Integer, String> abcMap = new HashMap<>();
abcMap.put(19, "19");
abcMap.put(14, "14");
abcMap.put(2, "2");
LinkedHashMap<Integer, String> linkedMap = new LinkedHashMap<>();
// 将HashMap转换成LinkedHashMap
abcMap.entrySet().stream().sorted(Map.Entry.comparingByKey())
.forEachOrdered(entry -> linkedMap.put(entry.getKey(), entry.getValue()));
// 如果想要转换成List
List collect = linkedMap.entrySet().stream().map(Map.Entry::getValue).collect(Collectors.toList());
List collect2 = linkedMap.values().stream().collect(Collectors.toList());
List collect3 = new ArrayList<>(linkedMap.values());
for (Object o : collect3) {
System.out.println(o);
}
}
}
以上是关于利用Java8 stream对Map排序的主要内容,如果未能解决你的问题,请参考以下文章
Java 8 Map & Stream - 按值 desc 和组排序
Java8 stream 中利用 groupingBy 进行多字段分组