如何使用Java 8 Streams

时间:2015-10-09 16:50:10

标签: java java-8 java-stream

我有一个Set<String>我要转换为Map<String, List<NameAndType>,其中我的源列表中的每个条目都是每个条目的键,并且使用昂贵的函数计算值。

Set<String> allTables = getAllTablesInternal();
allTables.parallelStream().<...?>

expensive_function返回List<NameAndType>给定tableName(字符串)。我想要做的是写一个收集函数,它将收集到Map。

1 个答案:

答案 0 :(得分:1)

您可以使用toMap

Map<String, List<NameAndType>> map = 
            allTables.parallelStream()
                     .collect(Collectors.toMap(k -> k, k -> expensive_function(k)));