Sobes.tech
Junior — Middle

Worin besteht der Unterschied zwischen der Implementierung der Collection Set und der Collection ArrayList in Java?

sobes.tech KI

Antwort von AI

Der Hauptunterschied zwischen den Collections Set und ArrayList in Java liegt in ihrem Verhalten und ihrer Implementierung:

  • Set — ist eine Sammlung, die keine doppelten Elemente zulässt. Die Reihenfolge der Elemente ist nicht garantiert (z.B. bei HashSet), es gibt jedoch Implementierungen mit Sortierung (TreeSet, LinkedHashSet).
  • ArrayList — ist eine sortierte Liste, die Duplikate zulässt und die Einfügereihenfolge beibehält.

Aus Sicht der Implementierung:

  • ArrayList basiert auf einem Array, das dynamisch erweitert wird, wenn Elemente hinzugefügt werden. Schneller Zugriff nach Index.
  • HashSet wird meist auf HashMap basieren, wobei die Elemente als Schlüssel fungieren. Das sorgt für schnelle Suche und Überprüfung der Einzigartigkeit.

Beispiel:

Set<String> set = new HashSet<>();
set.add("apple");
set.add("apple"); // wird nicht zweimal hinzugefügt

List<String> list = new ArrayList<>();
list.add("apple");
list.add("apple"); // beide Elemente werden hinzugefügt