Java使用流收集器分组创建单个值的Map

时间:2018-08-06 19:28:32

标签: java java-stream

我知道groupingBy返回Map<K,List<V>>。但是,如果我知道每个键都有一个唯一的值,该如何获得一个值为V而不是List<V>的Map?

例如:

Map<String, Transaction> transactions =
transactions.stream().collect(groupingBy(Transaction::getID));

ID是唯一的。

1 个答案:

答案 0 :(得分:4)

使用Collectors.toMap:

Map<String, Transaction> transactions = transactions.stream()
        .collect(Collectors.toMap(Transaction::getID, Function.identity()));