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

Cos*_*aic 4 java java-stream

我知道groupingBy回报Map<K,List<V>>。但是,如果我知道每个键都有一个唯一的值,那么我如何获得一个值V不是的Map List<V>呢?

例如:

Map<String, Transaction> transactions =
transactions.stream().collect(groupingBy(Transaction::getID));
Run Code Online (Sandbox Code Playgroud)

ID是唯一的。

Pat*_*ker 5

使用Collectors.toMap:

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