Sobes.tech
Junior

Welche Sammlungen gibt es in Java?

sobes.tech KI

Antwort von AI

Das Java Collections Framework bietet eine Vielzahl von Sammlungen zum Speichern und Verwalten von Daten. Die wichtigsten Schnittstellen und ihre Implementierungen:

  • Collection: Basisschnittstelle.
    • List: Reihenfolge Sammlung, erlaubt Duplikate.
      • ArrayList: basiert auf Array, schneller Zugriff per Index, langsames Einfügen/Entfernen in der Mitte.
      • LinkedList: basiert auf doppelt verketteter Liste, schnelles Einfügen/Entfernen, langsamer Zugriff per Index.
      • Vector: thread-sicheres Äquivalent zu ArrayList, veraltet.
      • Stack: basiert auf Vector, LIFO-Prinzip.
    • Set: Sammlung von einzigartigen Elementen, ohne bestimmte Reihenfolge (außer SortedSet).
      • HashSet: basiert auf Hash-Tabelle, schneller Zugriff und Einfügen/Entfernen.
      • LinkedHashSet: bewahrt Einfügereihenfolge.
      • TreeSet: speichert Elemente in sortierter Reihenfolge.
    • Queue: Sammlung von Elementen, häufig verwendet für die Speicherung vor der Verarbeitung in FIFO-Reihenfolge.
      • PriorityQueue: Elemente werden nach Priorität extrahiert.
      • ArrayDeque: doppelte Warteschlange.
    • Deque: doppelte Warteschlange, Elemente können an beiden Enden hinzugefügt und entfernt werden.
  • Map: speichert Schlüssel-Wert-Paare, Schlüssel sind eindeutig.
    • HashMap: basiert auf Hash-Tabelle, schneller Zugriff per Schlüssel.
    • LinkedHashMap: bewahrt Einfügereihenfolge oder Zugriff.
    • TreeMap: speichert Paare in sortierter Reihenfolge nach Schlüsseln.
    • Hashtable: thread-sicheres Äquivalent zu HashMap, veraltet.

Thread-sichere Sammlungen:

  • Collections.synchronized*: Wrapper um bestehende Sammlungen.
  • Concurrent*: Paket java.util.concurrent, Sammlungen mit verbesserter Leistung in konkurrierenden Umgebungen.
    • ConcurrentHashMap
    • CopyOnWriteArrayList
    • ConcurrentLinkedQueue

Und andere weniger verbreitete Sammlungen.