gpt4 book ai didi

java - 将 Map.Entry 列表转换为 LinkedHashMap

转载 作者:行者123 更新时间:2023-12-02 07:46:40 25 4
gpt4 key购买 nike

我有一个列表,我需要将其转换为映射,但键的顺序相同,因此我需要转换为 LinkedHashMap。我需要这样的东西:

list.stream().collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));

但是使用具体类型的 map ,例如:

list.stream().collect(Collectors.toCollection(LinkedHashMap::new))

是否可以结合上述两种变体?

最佳答案

是的,只需使用包含合并函数和 map 供应商的 Collectors.toMap 变体即可:

<T, K, U, M extends Map<K, U>> Collector<T, ?, M> java.util.stream.Collectors.toMap(Function<? super T, ? extends K> keyMapper, Function<? super T, ? extends U> valueMapper, BinaryOperator<U> mergeFunction, Supplier<M> mapSupplier)

使用简单的合并函数(选择第一个值)将如下所示:

LinkedHashMap<KeyType,ValueType> map =
list.stream().collect(Collectors.toMap(Map.Entry::getKey,
Map.Entry::getValue,
(v1,v2)->v1,
LinkedHashMap::new));

关于java - 将 Map.Entry 列表转换为 LinkedHashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51186847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com