gpt4 book ai didi

java - 如何在java中合并 map 列表?

转载 作者:行者123 更新时间:2023-12-01 18:42:48 25 4
gpt4 key购买 nike

我有两个 map 列表。

List<Map<String,String>> catDataToCache = new ArrayList();
List<Map<String,String>> catDataToCache2 = new ArrayList();

每张 map 都是这样的

map('referer'=>'abc.com','category'=>'def.com')

我必须合并这两个。我试过List.addAll();但是我得到了一个乱码的集合。

最佳答案

我相信您正在尝试合并两个或多个 Map 的映射。如果是这样,您可以使用 Map#putAll() 执行此操作,而不涉及 List ,除非 Map 实际上存储在其中,这似乎不太可能.

Map<String, String> map1 = new HashMap<String, String>();
map1.put("referrer", "abc.com");

Map<String, String> map2 = new HashMap<String, String>();
map2.put("category", "def.com");

Map<String, String> map3 = new HashMap<String, String>();

map3.putAll(map1);
map3.putAll(map2);

for (Map.Entry<String, String> mapping : map3.entrySet()) {
System.out.println(mapping.getKey() + " = " + mapping.getValue());
}

输出:

category = def.com
referrer = abc.com

<小时/>如果您实际上是在 List 中获取 Map,只需对其进行迭代,然后对每个 使用 putAll(),如上所示> map 。如果有多个这样的 List,请对每个列表重复 Iterator 循环。

List<Map<String,String>> listOfMaps = new ArrayList<Map<String,String>>();

// initialize map1, map2, map3 same as above

listOfMaps.add(map1);
listOfMaps.add(map2);

for (Iterator<Map<String, String>> iterator =
listOfMaps.iterator(); iterator.hasNext();) {
map3.putAll(iterator.next());
}

for (Map.Entry<String, String> mapping : map3.entrySet()) {
System.out.println(mapping.getKey() + " = " + mapping.getValue());
}

关于java - 如何在java中合并 map 列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19225889/

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