Zum Inhalt springen
Lektion 14 von 26 14 Min. Mittel Zur Übung Mit Codebeispiel

Collections

Das Collections Framework bietet für jede Aufgabe die passende Struktur: List, Set und Map sind die großen drei.

Ansicht

01

Verstehen

Lies die Kernidee und das Beispiel.

02

Prüfen

Beantworte die Aktiv-Checks.

03

Anwenden

Setze die Transferaufgabe um.

Mini-Erfolg

Du hast mit einer Map gezählt, wie oft ein Wort vorkommt.

Warum das wichtig ist: Die Wahl der Datenstruktur entscheidet oft, ob Code einfach oder umständlich wird.

Lerninhalt

Verstehen & anwenden

1

Die großen drei

List hält eine geordnete Sammlung mit Duplikaten (ArrayList, LinkedList).

Set hält jedes Element nur einmal (HashSet, TreeSet).

Map speichert Schlüssel-Wert-Paare (HashMap, TreeMap).

ListSetMap
2

HashMap

put speichert unter einem Schlüssel, get liest, containsKey prüft.

getOrDefault liefert einen Ersatzwert, wenn der Schlüssel fehlt.

HashMapput()get()
Punkte pro Modul
Map<String, Integer> punkte = new HashMap<>();
punkte.put("html", 120);
punkte.put("java", 85);

punkte.get("java");                 // 85
punkte.getOrDefault("css", 0);     // 0
3

Set gegen Duplikate

Ein HashSet ignoriert doppelte Einträge automatisch.

Perfekt für "schon gesehen"-Logik, etwa bereits gelernte Tags.

HashSetcontains()
Set
Set<String> gelernt = new HashSet<>();
gelernt.add("int");
gelernt.add("int"); // wird ignoriert
gelernt.size();      // 1

Vertiefung

Die richtige Struktur wählen

List ist geordnet und erlaubt Duplikate. Set erlaubt jedes Element nur einmal. Map speichert Schlüssel-Wert-Paare und ist der Standard für Nachschlagen.

HashMap ist schnell, aber nicht sortiert. TreeMap sortiert nach Schlüsseln. Die Wahl hängt davon ab, ob du Reihenfolge, Duplikatfreiheit oder schnellen Zugriff brauchst.

Wortzähler mit Map
Map<String, Integer> zaehler = new HashMap<>();
for (String wort : List.of("java", "ist", "super", "java")) {
    zaehler.merge(wort, 1, Integer::sum);
}
System.out.println(zaehler); // {ist=1, java=2, super=1}

Merksatz: List für Reihenfolge, Set für Eindeutigkeit, Map für Nachschlagen. merge ist die kompakte Art, Werte zu zählen.

Übungsaufgabe

Wortzähler

Zähle, wie oft jedes Wort in einem Satz vorkommt. Gib die Wörter mit ihrer Anzahl aus.

Das soll dein Programm können

  • Einen Satz in Wörter zerlegen
  • HashMap<String, Integer> verwenden
  • Wörter zählen (Groß-/Kleinschreibung egal)
  • Ausgabe der Map

Schreibe den Code hier oder in deiner IDE und vergleiche ihn dann mit der Lösung.

Dein Code wird automatisch auf diesem Gerät gespeichert.

Hinweis anzeigen

satz.toLowerCase().split("\\s+") zerlegt den Satz. Danach kannst du mit merge zählen.

Lösung anzeigen
Wortzähler.java
import java.util.*;

public class Wortzaehler {
    public static void main(String[] args) {
        String satz = "Java ist super und Java macht Spaß";
        Map<String, Integer> zaehler = new HashMap<>();

        for (String wort : satz.toLowerCase().split("\\s+")) {
            zaehler.merge(wort, 1, Integer::sum);
        }

        for (Map.Entry<String, Integer> eintrag : zaehler.entrySet()) {
            System.out.println(eintrag.getKey() + ": " + eintrag.getValue());
        }
    }
}

Warum funktioniert das?

merge erhöht den Zähler, wenn der Schlüssel existiert, und legt ihn sonst mit 1 an. Die Map speichert hier bewusst die Anzahl als Integer.

Aktiv-Check

Teste dein Verständnis

1/6

Erkennen: Welcher Abschnitt passt?

Welcher Abschnitt passt zu diesen Begriffen?

ListSetMap
Tipp: Erst erinnern, dann prüfen. Fehler sind Teil des Lernens.

Spaßprojekt

Wortzähler

Zähle die Wörter in einem Satz mit einer HashMap. Gib anschließend jedes Wort mit seiner Anzahl aus.

Selbstcheck

Kann ich das schon?

Hake ab, was du wirklich erklären oder selbst bauen könntest.

0 von 3 geschafft

Fortschritt

Bereit zum Abschließen?

Markiere die Lektion als abgeschlossen, um XP und Streak zu erhalten.

</> Learn-Program © 2026 · Lizenziert unter CC BY-NC-SA 4.0

Rechtliches & Lizenz