我需要按子项目计数索引先前构建的地图。
当我运行以下代码时,它会停止。删除.parallel()
指令,运行正常。
我错过了什么?
Map<String, List<String>> dataById =
Files.lines(...).parallel()
.groupingBy(l->l.substring(0,l.indexof(' ')));
Map<Integer, List<String>> idsByCnt = dataById.entrySet().stream().parallel()
// collect
.collect(
//
groupingBy(
// grouping key is number data elements
e -> e.getValue().size(),
// value is the id
mapping(Entry::getKey, toList())));
答案 0 :(得分:1)
尝试groupingByConcurrent
。否则它使用的Map是单线程的。