我有一个Map对,并想将其变成具有Pair对象的ArrayList。
我知道我可以做这样的事
List<Pair<A,B>> nvpList = new ArrayList<Pair<A,B>>(2);
for(Map.Entry<String, String> entry : pairs.entrySet()){
Pair n = new Pair(entry.getKey(), entry.getValue());
nvpList.add(n);
}
我们如何在Java8中使用流来做到这一点?
答案 0 :(得分:7)
考虑泛型,您可以按以下方式执行该操作:
<A, B> List<Pair<A, B>> convertMapToListOfPairs(Map<A, B> pairs) {
return pairs.entrySet().stream()
.map(entry -> Pair.of(entry.getKey(), entry.getValue()))
.collect(Collectors.toList());
}