I have a Hashmap with four answers. And I have for ex 2 questions. This is how i do it
    // 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);  
Now I need to get access to all this information, so what I do is add the two HashMaps to one ArrayList
    // Add the Hashmaps to the arrayList
    alleAntwoorden.add(antwoorden1);
    alleAntwoorden.add(antwoorden2);
But how can I loop through the ArrayList to get the key and value from the HashMap? This is what I already tried.
    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();
            // ...
        }  
    }
But I always get the following msg: incompatible types
Antwoorden1, antwoorden2 and alleAntwoorden are defined as:
private ArrayList<HashMap> alleAntwoorden; 
private HashMap<String, Boolean> antwoorden1, antwoorden2;
                From the comment:
private ArrayList<HashMap> alleAntwoorden;
This is the problem. You're using a raw type map, but you're trying to assign a single entry to the variable Map.Entry<String, Boolean>. This cannot work, because your current map is of type HashMap<Object, Object>. Change the variable alleAntwoorden to:
private List<Map<String, Boolean>> alleAntwoorden;
Mind, that I've also changed the types to their Interface type: Should you always Code To Interfaces In Java.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With