java.util.ConcurrentModificationException vermeiden

Zur Ausgabe von Listen eignen sich foreach-Schleifen besonders gut. Man sollte jedoch vermeiden, innerhalb eines foreach-Blocks die Liste zu modifizieren, da die Datenstruktur der Liste während der Iteration für Veränderungen gesperrt ist. Ein Hinzufügen oder Löschen von Elemente führt somit zur java.util.ConcurrentModificationException.
java.util.ConcurrentModificationException vermeiden weiterlesen

Java HashMap Beispiel

Ein Beispiel für das Durchlaufen einer HashMap in Java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import java.util.HashMap;
 
public class HashMapExample
{
    public static void main(String[] args)
    {
        HashMap<String,Double> myHashMap = new HashMap<String,Double>();
 
	// HashMap durchlaufen
        for(String key : myHashMap.keySet())
        {
            System.out.println("Key: "+key);
            System.out.println("Value: "+myHashMap.get(key));
        }
 
	// Exemplarisches Einfügen:
        Double myDouble = myHashMap.get("Dagobert");
 
        if(myDouble != null)
        {
            System.out.println("Es gibt einen Double-Wert, 
            welcher unter dem Key 'Dagobert' abgelegt ist.");
        }
        else
        {
	    /* Es gibt keinen Wert für den Key 'Dagobert',
            also fügen wir den Double-Wert '100.00' für diesen Key ein. */
            myHashMap.put("Dagobert", 100.00);
        }
    }
}

HashMap durchlaufen und auslesen

Allgemein

In einer HashMap werden Daten nach dem Key-Value-Prinzip abgelegt. Die Keys sind eindeutig, d.h. jeder Key (Schlüssel) kommt nur einmal vor. Werden Elemente unter dem selben Key abgespeichert, so wird der bereits vorhandene Value überschrieben. Alle Werte werden unsortiert in der HashMap abgelegt, d.h. was zuerst reingelegt wird muss bei der Ausgabe nicht unbedingt auch zuerst wieder rauskommen. Das folgende Code-Beispiel stellt die Verhaltensweisen anschaulich dar:

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.HashMap;
 
public class TestMain
{
  public static void main(String[] argv)
  {
    HashMap<String, String> map = new HashMap<String, String>();
 
    map.put("Vorname", "Lara");
    map.put("Vorname", "Ralf");
    map.put("Vorname", "Johanna");
    map.put("Vorname", "Benny");
    map.put("Nachname", "Neugebauer");
    map.put("Geburtsort", "Potsdam");
    map.put("Telefon", "123456");
 
    for(String key : map.keySet())
    {
      System.out.print("Key: " + key + " - ");
      System.out.print("Value: " + map.get(key) + "\n");
    }
  }
}

Ausgabe:

1
2
3
4
Key: Nachname - Value: Neugebauer
Key: Geburtsort - Value: Potsdam
Key: Telefon - Value: 123456
Key: Vorname - Value: Benny

HashMap durchlaufen und auslesen weiterlesen