Kolekcja | Opis |
---|---|
ArrayList |
Sekwencja indeksowana o zmiennych rozmiarach |
LinkedList |
Sekwencja uporządkowana umożliwiająca efektywne wstawianie i usuwanie dowolnej pozycji |
HashSet |
Kolekcja nieuporządkowana, która nie dopuszcza duplikatów. |
TreeSet |
Zbiór uporządkowany. Nie dopuszcza duplikatów |
EnumSet |
Zbiór wartości typu wyliczeniowego. Nie dopuszcza duplikatów |
LinkedHashSet |
Zbiór zapamiętujący kolejność wstawiania elementów. Nie dopuszcza duplikatów. |
PriorityQueue |
Kolekcja pozwalająca na efektywne usuwanie najmniejszego elementu. |
HashMap |
Struktura danych przechowująca asocjacje klucz -> wartość . |
TreeMap |
Mapa o kluczach uporządkowanych. |
EnumMap |
Mapa, której klucze należą do typu wyliczeniowego.
private enum BmiComponentNames {MASS, TALL}
EnumMap<BmiComponentNames, Float> bmiComponents = new EnumMap<BmiComponentNames, Float>BmiComponentNames.class); bmiComponents.put(BmiComponentNames.MASS, 79f); bmiComponents.put(BmiComponentNames.TALL, 185f); |
LinkedHashMap |
Mapa zapamiętująca porządek, w którym umieszczane były asocjacje. |
WeakHashMap |
Mapa, której wartości mogą być odzyskiwane przez mechanizm odzyskiwania nieużytków, gdy nie są używane nigdzie indziej. |
IdentityHashMap |
Mapa o kluczach porównywanych za pomocą operatora == a nie metody equals() |
Główne różnice pomiędzy implementacjami
List | Set |
---|---|
Dopuszcza duplikaty. | Nie dopuszcza duplikatów. |
Kolekcja uporządkowana. | Kolekcja nieuporządkowana. |
Używa metody equals() do porównywania elementów podczas wstawiania. |
|
Najpopularniejsze implementacje: ArrayList,
Vector,
LinkedList
Ciekawe omówienie różnic pomiędzy ArrayList , a LinkedList .
|
Najpopularniejsze implementacje: HashSet,
TreeSet,
LinkedHashSet |
Na podstawie artykułów w Internecie oraz książki Horstmana i Cornella "Core Java 2 Techniki Zaawansowane".
W kolekcjach pojawiły się jeszcze Queue, które są warte wspomnienia oprócz List i Set... no i jeszcze Map'y. Tu: http://www.codejava.net/java-core/collections/java-collections-framework-summary-table jest fajne porównanie kolekcji.
OdpowiedzUsuńsuper
OdpowiedzUsuń