-1

我需要按子项目数索引以前构建的地图。

当我运行以下代码时,它会停止。删除.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())));
4

1 回答 1

1

试试吧groupingByConcurrent。否则它使用的 Map 是单线程的。

于 2015-12-03T16:45:06.953 回答