Sobes.tech
Junior — Middle

Czy możesz wymienić i opisać główne implementacje kolekcji w Java?

sobes.tech AI

Odpowiedź od AI

W Javie główne implementacje kolekcji znajdują się w pakiecie java.util i dzielą na kilka grup:

  1. Listy — uporządkowane kolekcje dopuszczające duplikaty.

    • ArrayList — dynamiczna tablica, szybki dostęp po indeksie, wolne wstawianie/usuwanie w środku.
    • LinkedList — lista dwukierunkowa, szybkie wstawianie/usuwanie, wolny dostęp po indeksie.
    • Vector — przestarzała, wątkowo bezpieczna wersja ArrayList.
  2. Zbiory (Set) — kolekcje bez duplikatów.

    • HashSet — oparty na tablicy haszującej, nie gwarantuje kolejności.
    • LinkedHashSet — zachowuje kolejność wstawiania.
    • TreeSet — posortowany zbiór oparty na drzewie czerwono-czarnym.
  3. Kolejki (Queue) — kolekcje działające na zasadzie FIFO.

    • LinkedList implementuje Queue.
    • PriorityQueue — kolejka priorytetowa.
  4. Mapy (Map) — mapowania klucz-wartość.

    • HashMap — tablica haszująca, nie gwarantuje kolejności.
    • LinkedHashMap — zachowuje kolejność wstawiania.
    • TreeMap — posortowana mapa po kluczu.

Każda implementacja ma swoje cechy pod względem wydajności i zachowania, wybór zależy od konkretnych zadań.