HashMap

0

HashMap

Im Kapitel ArrayList hast Du gelernt, dass Arrays Elemente als geordnete Sammlung speichern und Du mit einer Indexnummer (Typ int) darauf zugreifen müsst. Eine HashMap speichert Elemente jedoch in „Schlüssel/Wert“-Paaren und Du kannst über einen Index eines anderen Typs (z. B. einen String) darauf zugreifen.

Ein Objekt wird als Schlüssel (Index) für ein anderes Objekt (Wert) verwendet. Es können verschiedene Typen gespeichert werden: String-Schlüssel und Integer-Werte oder der gleiche Typ, wie: String-Schlüssel und String-Werte:

Beispiel

Erstellest Du ein HashMap-Objekt namens „capitalCities“, das String-Schlüssel und String-Werte speichert:

import java.util.HashMap; // Importierst Du die HashMap-Klasse

HashMap<String, String> capitalCities = new HashMap<String, String>();

Elemente hinzufügen

Die Klasse HashMap verfügt über viele nützliche Methoden. Um ihr beispielsweise Elemente hinzuzufügen, verwendest Dudie Methode put():

Beispiel

// Importierst Du die HashMap-Klasse
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {
    // Create a HashMap object called capitalCities
    HashMap<String, String> capitalCities = new HashMap<String, String>();

    // Add keys and values (Country, City)
    capitalCities.put("England", "London");
    capitalCities.put("Germany", "Berlin");
    capitalCities.put("Norway", "Oslo");
    capitalCities.put("USA", "Washington DC");
    System.out.println(capitalCities);
  }
}

Probier es aus im Online Compiler!

Auf ein Element zugreifen

Um auf einen Wert in der HashMap zuzugreifen, verwendest Du die Methode get() und verweisest Du auf seinen Schlüssel:

Beispiel

capitalCities.get("England");

Probier es aus im Online Compiler!

Entfernen eines Elements

Um ein Element zu entfernen, verwendest Du die Methode remove() und verweisest Du auf den Schlüssel:

Beispiel

capitalCities.remove("England");

Probier es aus im Online Compiler!

Um alle Elemente zu entfernen, verwendest Du die Methode clear():

Beispiel

capitalCities.clear();

Probier es aus im Online Compiler!

HashMap-Größe

Um herauszufinden, wie viele Elemente vorhanden sind, verwendest Du die Methode size():

Beispiel

capitalCities.size();

Probier es aus im Online Compiler!

Durchlaufen einer HashMap

Durchlaufst Du die Elemente einer HashMap mit einer For-Each-Schleife.

Hinweis: Verwendest Du die Methode keySet(), wenn Du nur die Schlüssel möchts, tund die Methode values(), wenn Du nur die Werte möchtest:

Beispiel

// Tasten drucken
for (String i : capitalCities.keySet()) {
  System.out.println(i);
}

Probier es aus im Online Compiler!

Beispiel

// Werte drucken
for (String i : capitalCities.values()) {
  System.out.println(i);
}

Probier es aus im Online Compiler!

Beispiel

// Schlüssel und Werte drucken
for (String i : capitalCities.keySet()) {
  System.out.println("key: " + i + " value: " + capitalCities.get(i));
}

Probier es aus im Online Compiler!

Andere Arten

Schlüssel und Werte in einer HashMap sind eigentlich Objekte. In den obigen Beispielen haben wir Objekte vom Typ „String“ verwendet. Denkst Du daran, dass ein String in Java ein Objekt ist (kein primitiver Typ). Um andere Typen wie int zu verwenden, müsst Du eine entsprechende Wrapper-Klasse angeben: Integer. Für andere primitive Typen verwendest Du: Boolean für boolean, Character für char, Double für double usw.:

Beispiel

Erstellst Du ein HashMap-Objekt namens „people“, das String-Schlüssel und Integer-Werte speichert:

// Import the HashMap class
import java.util.HashMap;

public class Main {
  public static void main(String[] args) {

    // Create a HashMap object called people
    HashMap<String, Integer> people = new HashMap<String, Integer>();


    // Add keys and values (Name, Age)
    people.put("John", 32);
    people.put("Steve", 30);
    people.put("Angie", 33);

    for (String i : people.keySet()) {
      System.out.println("key: " + i + " value: " + people.get(i));
    }
  }
}

Probier es aus im Online Compiler!

Schreibe einen Kommentar

Nach oben scrollen