本文介绍了Java8:使用流将一个地图转换为另一个地图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将Java HashMap
转换为 TreeMap
的实例(包括地图内容)
I need to convert a Java HashMap
to an instance of TreeMap
(including map contents)
HashMap<String, Object> src = ...;
TreeMap<String, Object> dest = src.entrySet().stream()
.filter( ... )
.collect(Collectors.toMap( ???, ???, ???, TreeMap::new));
我应该用什么代替 ???
使这段代码可编辑?
What should I put in place of ???
to make this code compilable?
推荐答案
来自:
* @param keyMapper a mapping function to produce keys
* @param valueMapper a mapping function to produce values
* @param mergeFunction a merge function, used to resolve collisions between
* values associated with the same key, as supplied
* to {@link Map#merge(Object, Object, BiFunction)}
* @param mapSupplier a function which returns a new, empty {@code Map} into
* which the results will be inserted
例如:
HashMap<String, Object> src = ...;
TreeMap<String, Object> dest = src.entrySet().stream()
.filter( ... )
.collect(Collectors.toMap(Map.Entry::getKey , Map.Entry::getValue, (a,b) -> a, TreeMap::new));
这篇关于Java8:使用流将一个地图转换为另一个地图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!