gpt4 book ai didi

java - 循环遍历 HashMaps Java 的 ArrayList

转载 作者:搜寻专家 更新时间:2023-10-31 08:15:15 24 4
gpt4 key购买 nike

ArrayList<HashMap<String, Integer>> myList = new ArrayList<HashMap<String, Integer>>();

HashMap<String, Integer> check = new HashMap<String, Integer>();

我的数组列表中有一些散列映射,我想比较重复的散列映射,例如 0,1 0,2 0,3 0,4....1,2 1,3 1,4。 ....2,3 2,4 等

我正在为此做一个嵌套的 for 循环,但卡在了如何访问散列图上并尝试了这个

for (int a =0; a<myList.size();a++){
for(int b=a+1; b<myList.size();b++){
for (String key : myList[a].check.keySet())
}
}

但这行不通。如果它们在 arraylist 中,我如何访问我的 hashmap 的所有键?我怎样才能做到这一点?

最佳答案

这是一个迭代的例子。我创建了虚拟数据来测试代码

private void ArrayListAndHashMap()
{
ArrayList<HashMap<String, Integer>> myList = new ArrayList<HashMap<String, Integer>>();


HashMap<String, Integer> data1 = new HashMap<String, Integer>();
data1.put("0",new Integer(1));
data1.put("1",new Integer(2));
data1.put("2",new Integer(3));
data1.put("3",new Integer(4));

HashMap<String, Integer> data2 = new HashMap<String, Integer>();
data1.put("10",new Integer(10));
data1.put("11",new Integer(20));
data1.put("12",new Integer(30));
data1.put("13",new Integer(40));

myList.add(data1);
myList.add(data2);


for (int a =0; a<myList.size();a++)
{
HashMap<String, Integer> tmpData = (HashMap<String, Integer>) myList.get(a);
Set<String> key = tmpData.keySet();
Iterator it = key.iterator();
while (it.hasNext()) {
String hmKey = (String)it.next();
Integer hmData = (Integer) tmpData.get(hmKey);

System.out.println("Key: "+hmKey +" & Data: "+hmData);
it.remove(); // avoids a ConcurrentModificationException
}

}
}

输出是

Key: 3 & Data: 4
Key: 2 & Data: 3
Key: 10 & Data: 10
Key: 1 & Data: 2
Key: 0 & Data: 1
Key: 13 & Data: 40
Key: 11 & Data: 20
Key: 12 & Data: 30

关于java - 循环遍历 HashMaps Java 的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979828/

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