当前位置:  开发笔记 > 编程语言 > 正文

我如何知道Java Stream收集(Collectors.toMap)是否已并行化?

如何解决《我如何知道JavaStream收集(Collectors.toMap)是否已并行化?》经验,为你挑选了0个好方法。

我有以下代码尝试通过Java Stream API以并行方式从List填充Map:

class NameId {...}

public class TestStream
{
    static public void main(String[] args)
    {
        List niList = new ArrayList<>();
        niList.add(new NameId ("Alice", "123456"));
        niList.add(new NameId ("Bob", "223456"));
        niList.add(new NameId ("Carl", "323456"));

        Stream niStream = niList.parallelStream();
        Map niMap = niStream.collect(Collectors.toMap(NameId::getName, NameId::getId));
    }
}

我如何知道是否使用多个线程填充地图,即并行?我是否需要调用Collectors.toConcurrentMap而不是Collectors.toMap?这是一种合理的方式来并行化地图的人口吗?我怎么知道具体的地图支持新的niMap(例如它是HashMap)?

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有