有一个特定的用例,不太确定最佳方法。
因此,目前的方法是迭代一组对象(可关闭迭代器(,并将它们映射到哈希图中(通过对象的日期属性进行比较,适当地处理冲突(。
我正在寻找一种并行的方法来加快速度,最初的想法是使用带有并行和forEach的Java 8流,利用并发哈希图来实现并发。这种方法的主要瓶颈似乎是并发hashmap,并且这种方法在添加并发性方面没有任何改进。
我现在的想法是将并行映射到多个哈希映射中。然后将简化为一个适当处理冲突的哈希图。想知道如何使用Streams在Java中实现这样的方法。我知道有内置的map和reduce操作,但不确定收集多个hashmap的方法(执行操作并添加到集合中?(。
尝试使用groupingBy((函数。例如
stream.collect(Collectors.groupingBy(Locale::getCountry));
生成一个以国家为关键字、以该国家为值的区域设置的地图