Junior
Jakie kolekcje istnieją w Java?
sobes.tech AI
Odpowiedź od AI
Framework kolekcji Java zapewnia wiele kolekcji do przechowywania i zarządzania danymi. Główne interfejsy i ich implementacje:
Collection: interfejs bazowy.List: uporządkowana kolekcja, pozwala na duplikaty.ArrayList: oparta na tablicy, szybki dostęp po indeksie, wolne wstawianie/usuwanie w środku.LinkedList: oparta na liście dwukierunkowej, szybkie wstawianie/usuwanie, wolny dostęp po indeksie.Vector: thread-safe odpowiednikArrayList, przestarzały.Stack: oparty naVector, zasada LIFO.
Set: kolekcja unikalnych elementów, bez określonego porządku (z wyjątkiemSortedSet).HashSet: oparty na tablicy haszującej, szybki dostęp i wstawianie/usuwanie.LinkedHashSet: zachowuje kolejność wstawiania.TreeSet: przechowuje elementy w posortowanej kolejności.
Queue: kolekcja elementów, często używana do przechowywania elementów przed przetwarzaniem w kolejności FIFO.PriorityQueue: elementy wyciągane w kolejności ich priorytetu.ArrayDeque: kolejka dwustronna.
Deque: kolejka dwustronna, można dodawać i usuwać elementy z obu końców.
Map: przechowuje pary klucz-wartość, klucze są unikalne.HashMap: oparty na tablicy haszującej, szybki dostęp po kluczu.LinkedHashMap: zachowuje kolejność wstawiania lub dostępu.TreeMap: przechowuje pary w posortowanej kolejności po kluczach.Hashtable: thread-safe odpowiednikHashMap, przestarzały.
Kolekcje bezpieczne dla wątków:
Collections.synchronized*: opakowania na istniejących kolekcjach.Concurrent*: pakietjava.util.concurrent, kolekcje z lepszą wydajnością w środowiskach wielowątkowych.ConcurrentHashMapCopyOnWriteArrayListConcurrentLinkedQueue
I inne mniej popularne kolekcje.