Dienstag, Februar 18, 2020

So erstellen Sie eine Schleife durch LinkedHashMap<String,ArrayList<String>>?

Mir bitte helfen, erstellen Sie eine Schleife durch LinkedHashMap<String,ArrayList<String>> h:

if (h.get("key1").size() == 0)
    System.out.println("There is no errors in key1.");
else
    System.out.println("ERROR: there are unexpected errors in key1.");

if (h.get("key2").size() == 0)
    System.out.println("There is no errors in key2.");
else
    System.out.println("ERROR: there are unexpected errors in key2.");

if (h.get("key3").size() == 0)
    System.out.println("There is no errors in key3.");
else
    System.out.println("ERROR: there are unexpected errors in key3.");

if (h.get("key4").size() == 0)
    System.out.println("There is no errors in key4.\n");
else
    System.out.println("ERROR: there are unexpected errors in key4.\n");
InformationsquelleAutor Prostak | 2011-05-05

3 Kommentare

  1. 13

    So?

    for (String key : h.keySet())
    {
        System.out.println("Key: " + key);   
        for(String str : h.get(key))
        {
           System.out.println("\t" +str);
        }
    }

    EDIT:

    for (String key : h.keySet())
    {
        if(h.get(key).size() == 0)
        {
             System.out.println("There is no errors in " + key) ;
        }
        else
        {
            System.out.println("ERROR: there are unexpected errors in " + key);
        }
    }
    • Können Sie meine genauen Nachrichten in der Schleife?
    • check out my Bearbeiten. klingt wie das, was Sie wollen.
    • ein wenig spät, aber hat diese Rückkehr in der insertion order oder müssen wir verwenden einen iterator? die javadocs für LinkedHashMap sind identisch zu der eines HashMap
    • LinkedHashMap garantiert es aber nicht alle HashMaps tun: stackoverflow.com/questions/2923856/…
  2. 7

    Versuchen, diesen code:

    Map<String, ArrayList<String>> a = new LinkedHashMap<String, ArrayList<String>>();
    Iterator<Entry<String,ArrayList<String>>> itr = a.entrySet().iterator();
    while (itr.hasNext()) {
        Entry<String,ArrayList<String>> entry = itr.next();
        String key = entry.getKey();
        System.out.println("key: " + key);
        List<String> list = entry.getValue();
        System.out.println("value: " + list);
    }
    • Wird diese Rendite in der insertion order?
    • Ja, es wird sicher einsetzen, um da LinkedHashMap verwendet wird hier.
  3. 3

    Anderen Weg in Java8 ist mit der foreach() Methode

    Map<String, List<String>> test1 = new LinkedHashMap<String, List<String>>();
    test1.forEach((key,value) -> {
        System.out.println(key + " -> " + value);
    });

Kostenlose Online-Tests