我有以下代码尝试通过Java Stream API以并行方式从List填充Map:
class NameId {...} public class TestStream { static public void main(String[] args) { ListniList = 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)?