Cześć!
Niedawno zakończyliśmy serię o różnicach między podstawowymi słowami kluczowymi w języku java, czyli:
- final (kliknij tutaj, aby przeczytać post),
- finalize (kliknij tutaj, aby przeczytać post),
- finally (kliknij tutaj, aby przeczytać post).
Postanowiłem, ze czas rozpocząć kolejną serię. Tym razem chciałbym przejść przez wszystkie najważniejsze kolekcje w języku Java. Dzisiejszy wpis będzie miał charakter wprowadzający. Omówię czym jest framework kolekcji, jakie są najważniejsze kolekcje i dlaczego warto z nich korzystać. W kolejnym wpisie już szczegółowo omówimy jeden z nich. Do dzieła!
Framework kolekcji
Framework kolekcji jest zbiorem struktur danych oraz algorytmów które służą w ułatwianiu organizacji danych dla programistów. W frameworku kolekcji mamy zaimplementowane najpopularniejsze struktury danych, które są najczęściej wykorzystywane w programowaniu. Każda struktura danych udostępnia metody służące do przeprowadzania określonych operacji na zbiorach (np. dodawanie, usuwanie, wyszukiwanie, etc..). Do tego wszystkiego możemy również dołączyć dokumentację, dzięki czemu każdy programista może dowiedzieć się jak z tych struktur danych korzystać i co dokładnie kryje się pod “brzuchem” konkretnych metod. Najważniejsze interfejsy definiowane przez framework kolekcji to:
- Collection
- List
- Set
- SortedSet
- Map
- SortedMap
Tak prezentuje się to graficznie:

Róznica między Collection a Collections
Collection jest interfejsem a Collection jest klasą użytkową w Javie. Takie zbiory jak: Set, List czy Queue są podinterfejsami interfejsu Collection. Interfejs Map również zalicza się do frameworku kolekcji ale nie dziedziczy on po interfejsie kolekcji.
Reasumując: Collection jest to interfejs frameworku kolekcji Javy, natomiast Collections jest to klasa użyteczna która posiada statyczne metody potrzebne do dokonywania operacji na obiektach typu Collection. Myślę, że różnice warto przedstawić w postaci tabelarycznej:
COLLECTION | COLLECTIONS |
---|---|
Interfejs | Klasa |
Używany do reprezentowania grupy pojedynczych obiektów jako jednej jednostki | Definiuje kilka metod użytkowych, które służą do operowania na kolekcji |
Kolekcja jest interfejsem, który zawiera statyczną metodę od java8. Interfejs może również zawierać metody abstrakcyjne i domyślne | Zawiera tylko metody statyczne |
Dlaczego warto korzystać z kolekcji?
Odpowiedź nie będzie skomplikowana. Jak wspomniałem wyżej, framework kolekcji w Javie jest standardową funkcją biblioteki, która dostarcza implementacji powszechnie używanych struktur danych. Motywacją stojącą za takimi frameworkami jest przede wszystkim redukcja wysiłku związanego z kodowanie. Podczas gdy próbujemy napisać coś własnego może okazać się, że jest już coś takiego napisane i jest to oficjalne, powszechnie używane oraz wolne od błędów i niedociągnięć. Moim zdaniem w przypadkach struktur danych w Javie nie ma sensu wymyślać koła na nowo.
Podsumowanie
Reasumując, kolekcja w Javie jest frameworkiem, który zapewnia architekturę do przechowywania i manipulowania grupą obiektów. Za pomocą kolekcji możemy wykonać takie operacje na danych jak: wyszukiwanie, sortowanie, wstawianie, usuwanie i tym podobne. Mam nadzieję, że na tyle przybliżyłem temat kolekcji, że omawianie poszczególnych struktur danych będzie łatwiejsze. W kolejnym programistycznym wpisie zostaną omówione Listy.
Pozdrawiam serdecznie,
biegajacyprogramista.pl