Java 如何使用Eclipse集合将MutableMap转换为ObjectDoubleMap?
如何使用Eclipse集合将Java 如何使用Eclipse集合将MutableMap转换为ObjectDoubleMap?,java,eclipse-collections,Java,Eclipse Collections,如何使用Eclipse集合将MutableMap转换为ObjectDoubleMap 在我的用例中,我有一个可变的映射,它是聚合的结果。比如, MutableMap<String, Double> map = list.aggregateBy(func, factory, aggregator); MutableMap=list.aggregateBy(函数、工厂、聚合器); 我必须调用另一个只接受ObjectDoubleMap的方法,如何将map转换为ObjectDoubleM
MutableMap
转换为ObjectDoubleMap
在我的用例中,我有一个可变的映射,它是聚合的结果。比如,
MutableMap<String, Double> map = list.aggregateBy(func, factory, aggregator);
MutableMap=list.aggregateBy(函数、工厂、聚合器);
我必须调用另一个只接受
ObjectDoubleMap
的方法,如何将map
转换为ObjectDoubleMap
的类型?我别无选择,只能使用Eclipse集合框架。首先,感谢您使用Eclipse集合!当前,将MutableMap
转换为ObjectDoubleMap
的最佳方法是使用forEachKeyValue()
迭代,并将键、值放入空的MutableObjectDoubleMap
MutableMap<String, Double> stringDoubleMutableMap = Maps.mutable.with("1", 1.0, "2", 2.0);
MutableObjectDoubleMap<String> targetMap = ObjectDoubleMaps.mutable.empty();
stringDoubleMutableMap.forEachKeyValue((key, value) -> targetMap.put(key, value));
注意:我是Eclipse集合的提交者。谢谢,这是一种冗长的方式来调整原语的界面,但它仍然有效。正如我在回答中提到的,如果您觉得有一个转换API,我们可以在GitHub Repo上随意提出。还有,别忘了接受答案。接受!最好有一个更简单的APIs,它可以使用方法引用而不是lambda-
stringDoubleMutableMap.forEachKeyValue(targetMap::put)稍微简化代码>
stringDoubleMutableMap.forEachKeyValue(targetMap::put);