0
我有4名工人的分佈式系統,並且每個都以將它們減小至的ArrayList < MyClass的>減少地圖對象插入的ArrayList
發送1個地圖<字符串,MyClass的>對象到減速器我試圖接近它的方式是通過從工作人員收集所有Map項目到一個ArrayList,然後使用並行流我想使用reduce方法將它們減少到我已初始化到reducer中的列表。這裏是我的代碼:
ArrayList<MyClass> result = new ArrayList<MyClass>();
maps.parallelStream().reduce(null, (res, m)->{
result.add(m.get(key));
});
我上減少方法如下編譯錯誤:
的方法減少(地圖<字符串,路線>,BinaryOperator <地圖<字符串,路線>>)在類型流<地圖<字符串,路線>>不適用的參數(NULL,(<沒有類型> RES,<沒有類型>米) - > {})
無需並行流。使用列表中的[addAll](https://docs.oracle.com/javase/8/docs/api/java/util/List.html#addAll-java.util.Collection-)方法來添加所有值您使用[values]的地圖(https://docs.oracle.com/javase/8/docs/api/java/util/Map.html#values--)。 –
沒有'java.util.Map#parallelStream' ...但也許你可以使用這個:'List
也許使用'new ArrayList <>(maps.values());' – SilverNak