gpt4 book ai didi

Java 遍历带有 HashMap 的 ArrayList

转载 作者:太空狗 更新时间:2023-10-29 22:50:11 24 4
gpt4 key购买 nike

我有一个包含四个答案的 Hashmap。我有前 2 个问题。我是这样做的

    // Awnsers question 1
antwoorden1.put("Hypertext Preprocessor", true);
antwoorden1.put("Hypertext PHPprocessor", false);
antwoorden1.put("Hypertext processor", false);
antwoorden1.put("Preprocessor PHP", false);
// Awnsers question 2
antwoorden2.put("Model view config", false);
antwoorden2.put("Model view connect", false);
antwoorden2.put("Model view controllers", false);
antwoorden2.put("Model view controller", true);

现在我需要访问所有这些信息,所以我要做的是将两个 HashMap 添加到一个 ArrayList

    // Add the Hashmaps to the arrayList
alleAntwoorden.add(antwoorden1);
alleAntwoorden.add(antwoorden2);

但是我怎样才能遍历 ArrayList 以从 HashMap 中获取键和值呢?这是我已经尝试过的。

    for(int i = 0; i < alleAntwoorden.size(); i++)
{
for (Map.Entry<String, Boolean> entry : alleAntwoorden.get(i).entrySet())
{
String key = entry.getKey();
Object value = entry.getValue();
// ...
}
}

但我总是收到以下消息:类型不兼容

Antwoorden1、antwoorden2 和 alleAntwoorden 定义为:

private ArrayList<HashMap> alleAntwoorden; 
private HashMap<String, Boolean> antwoorden1, antwoorden2;

最佳答案

来自评论:

private ArrayList<HashMap> alleAntwoorden;

这就是问题所在。您正在使用原始类型映射,但您正试图将单个条目分配给变量 Map.Entry<String, Boolean> .这行不通,因为您当前的 map 类型为 HashMap<Object, Object> .更改变量 alleAntwoorden到:

private List<Map<String, Boolean>> alleAntwoorden;

请注意,我还将类型更改为其接口(interface)类型:Should you always Code To Interfaces In Java .

关于Java 遍历带有 HashMap 的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485794/

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