Set: Unterschied zwischen den Versionen

Aus FI-Wiki
Keine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
== Set ==
Ein '''Set''' ist eine Datenstruktur aus der Java-Collections-API, die eine Sammlung von Elementen ohne doppelte Werte speichert.   
Ein '''Set''' ist eine Datenstruktur aus der Java-Collections-API, die eine Sammlung von Elementen ohne doppelte Werte speichert.   
Jedes Element kann nur einmal vorkommen. Dadurch eignet sich ein Set ideal, wenn nur eindeutige Werte zugelassen sind.
Jedes Element kann nur einmal vorkommen. Dadurch eignet sich ein Set ideal, wenn nur eindeutige Werte zugelassen sind.


=== Eigenschaften ===
== Eigenschaften ==
* speichert nur '''einzigartige''' Elemente   
* speichert nur '''einzigartige''' Elemente   
* keine Duplikate erlaubt   
* keine Duplikate erlaubt   
Zeile 11: Zeile 9:
* verschiedene Implementierungen: HashSet, TreeSet, LinkedHashSet
* verschiedene Implementierungen: HashSet, TreeSet, LinkedHashSet


=== Beispiel: HashSet verwenden ===
== Beispiel: HashSet verwenden ==
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
import java.util.HashSet;
import java.util.HashSet;
Zeile 23: Zeile 21:
</syntaxhighlight>
</syntaxhighlight>


=== Überprüfen, ob ein Element existiert ===
== Überprüfen, ob ein Element existiert ==
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
if (namen.contains("Max")) {
if (namen.contains("Max")) {
Zeile 30: Zeile 28:
</syntaxhighlight>
</syntaxhighlight>


=== Elemente entfernen ===
== Elemente entfernen ==
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
namen.remove("Lisa");
namen.remove("Lisa");
</syntaxhighlight>
</syntaxhighlight>


=== Iteration über ein Set ===
== Iteration über ein Set ==
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
for (String name : namen) {
for (String name : namen) {
Zeile 42: Zeile 40:
</syntaxhighlight>
</syntaxhighlight>


=== Implementierungen im Überblick ===
== Implementierungen im Überblick ==
* '''HashSet''' – sehr schnell, keine Ordnung   
* '''HashSet''' – sehr schnell, keine Ordnung   
* '''LinkedHashSet''' – speichert Einfügereihenfolge   
* '''LinkedHashSet''' – speichert Einfügereihenfolge   
* '''TreeSet''' – sortierte Ausgabe, langsamer   
* '''TreeSet''' – sortierte Ausgabe, langsamer   


=== typische Einsatzgebiete ===
== typische Einsatzgebiete ==
* Sammlungen ohne Duplikate   
* Sammlungen ohne Duplikate   
* Listen eindeutig möglicher Werte   
* Listen eindeutig möglicher Werte   
Zeile 53: Zeile 51:
* schnelle Existenzprüfung
* schnelle Existenzprüfung


=== Kurzmerksatz ===
== Kurzmerksatz ==
'''Ein Set speichert einzigartige Elemente und verhindert automatisch doppelte Einträge, ideal für eindeutige Sammlungen.'''
'''Ein Set speichert einzigartige Elemente und verhindert automatisch doppelte Einträge, ideal für eindeutige Sammlungen.'''

Aktuelle Version vom 12. Januar 2026, 14:13 Uhr

Ein Set ist eine Datenstruktur aus der Java-Collections-API, die eine Sammlung von Elementen ohne doppelte Werte speichert. Jedes Element kann nur einmal vorkommen. Dadurch eignet sich ein Set ideal, wenn nur eindeutige Werte zugelassen sind.

Eigenschaften

  • speichert nur einzigartige Elemente
  • keine Duplikate erlaubt
  • Reihenfolge ist nicht garantiert (bei HashSet)
  • sehr schnelle Suche nach vorhandenen Elementen
  • verschiedene Implementierungen: HashSet, TreeSet, LinkedHashSet

Beispiel: HashSet verwenden

import java.util.HashSet;

HashSet<String> namen = new HashSet<>();

namen.add("Anna");
namen.add("Max");
namen.add("Lisa");
namen.add("Anna");   // wird ignoriert, da bereits vorhanden

Überprüfen, ob ein Element existiert

if (namen.contains("Max")) {
    System.out.println("Max ist im Set vorhanden.");
}

Elemente entfernen

namen.remove("Lisa");

Iteration über ein Set

for (String name : namen) {
    System.out.println(name);
}

Implementierungen im Überblick

  • HashSet – sehr schnell, keine Ordnung
  • LinkedHashSet – speichert Einfügereihenfolge
  • TreeSet – sortierte Ausgabe, langsamer

typische Einsatzgebiete

  • Sammlungen ohne Duplikate
  • Listen eindeutig möglicher Werte
  • Mengenoperationen (Schnittmenge, Vereinigung)
  • schnelle Existenzprüfung

Kurzmerksatz

Ein Set speichert einzigartige Elemente und verhindert automatisch doppelte Einträge, ideal für eindeutige Sammlungen.