Direkt zum Hauptinhalt springen
eLearner.app
Modul 6 · Lektion 1 von 211/14 im Kurs~15 min
Lektionen des Moduls (1/2)

Set und Map

Neben der Klasse ArrayList (die eine geordnete Liste von Elementen darstellt) bietet das Java Collections Framework zwei weitere grundlegende Interfaces: Set (für Mengen einzigartiger Elemente) und Map (für Schlüssel-Wert-Zuordnungen).

Set: Mengen einzigartiger Elemente

Ein Set ist eine Sammlung, die keine doppelten Elemente enthalten darf. Die gebräuchlichste Implementierung ist HashSet, das intern auf einer Hash-Tabelle basiert, was eine hervorragende Leistung für Einfüge-, Lösch- und Suchoperationen garantiert.

Code
import java.util.HashSet;
import java.util.Set;

Set<String> uniqueNames = new HashSet<>();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // Questo inserimento verrà ignorato poiché "Alice" è già presente

System.out.println(uniqueNames.size()); // Stampa 2

Map: Schlüssel-Wert-Zuordnungen

Eine Map ordnet eindeutigen Schlüsseln bestimmte Werte zu. Sie darf keine doppelten Schlüssel enthalten: Jeder Schlüssel ist maximal einem Wert zugeordnet. Ihre Standardimplementierung ist HashMap.

Code
import java.util.HashMap;
import java.util.Map;

Map<String, Integer> ageMap = new HashMap<>();
// Inserimento o aggiornamento di coppie
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);

// Recupero del valore tramite la chiave
int aliceAge = ageMap.get("Alice"); // Ritorna 25

// Verifica della presenza di una chiave o valore
boolean hasBob = ageMap.containsKey("Bob"); // Ritorna true

Über eine Map iterieren

Um über die Schlüssel-Wert-Paare zu iterieren, können wir die for-each-Schleife auf dem von der Map bereitgestellten Entry-Set (entrySet()) verwenden.

Code
for (Map.Entry<String, Integer> entry : ageMap.entrySet()) {
    System.out.println(entry.getKey() + " ha " + entry.getValue() + " anni.");
}

Probiere es aus

Übung#java.m6.l1.e1
Versuche: 0Wird geladen…

Vervollständigen Sie den Code, indem Sie ein HashSet von Strings namens items deklarieren. Fügen Sie die Elemente 'apple', 'banana' und nochmals 'apple' hinzu und geben Sie anschließend die Größe der Menge mit System.out.println aus.

Editor wird geladen…
Hinweis anzeigen

Denken Sie daran, dass in einem `Set` keine Duplikate zulässig sind und `items.size()` die tatsächliche Anzahl der eingefügten eindeutigen Elemente zurückgibt.

Lösung nach 3 Versuchen verfügbar

Übung#java.m6.l1.e2
Versuche: 0Wird geladen…

Vervollständigen Sie den Code, indem Sie eine HashMap namens ages mit dem Schlüssel String und dem Wert Integer deklarieren. Ordnen Sie dem Schlüssel 'Alice' den Wert 25 und dem Schlüssel 'Bob' den Wert 30 zu. Rufen Sie anschließend das Alter von 'Bob' ab und geben Sie es aus.

Editor wird geladen…
Hinweis anzeigen

Verwenden Sie die Methode `put`, um Paare einzufügen, und die Methode `get`, um Werte basierend auf Schlüsseln abzurufen.

Lösung nach 3 Versuchen verfügbar

Übung#java.m6.l1.e3
Versuche: 0Wird geladen…

Vervollständigen Sie den Code, indem Sie prüfen, ob die Map countries den Schlüssel 'FR' enthält, und geben Sie das boolesche Ergebnis aus.

Editor wird geladen…
Hinweis anzeigen

Verwenden Sie die Methode `containsKey` auf dem `countries`-Objekt, um das Vorhandensein des angeforderten Schlüssels zu prüfen.

Lösung nach 3 Versuchen verfügbar