– Cześć, Amigo. Chciałbym opowiedzieć Ci dziś o kolekcjach. W Javie kolekcja/konterner oznacza klasę, której głównym zadaniem jest przechowywanie kolekcji innych elementów. Już poznałeś jedną taką klasę: ArrayList.

– W Javie kolekcje są podzielone na trzy główne grupy: Set, List, Map.

– Jaka jest między nimi różnica?

– Pozwól, że zacznę od Set. Wyobraź sobie wiele butów rzuconych na stertę. To jest Set. Do Set możesz dodawać elementy, wyszukiwać je lub też usuwać. Ważne jest, aby wiedzieć, że elementy w secie nie mają przypisanego konkretnego porządku.

Lekcja o kolekcjach - 1

– Nie ma zbyt wiele do omówienia...

– Teraz wyobraź sobie tę samą stertę butów, ale ustawioną porządnie wzdłuż ściany. Jest teraz porządek. Każdy element ma swój własny numer. Możesz po prostu chwycić parę numer 4, kierując się jej numerem (indeksem). Tym właśnie jest List. Możesz dodać element do początku lub środka listy lub usunąć element, zwyczajnie używając jego indeksu.

Lekcja o kolekcjach - 2

– Rozumiem. A o co chodzi z Map?

– Wyobraź sobie te same buty, ale teraz każda para ma karteczkę z nazwą: Krzyś, Gosia i Ula. To jest Map (często nazywane również słownikiem). Każdy element ma swój własny unikatowy numer, który jest używany, by się do niego odnieść. Ta unikalna nazwa dla każdego elementu często nazywana jest kluczem (ang. key). Tym samym, Map to zbiór par klucz-wartość (ang. key-value pairs). Klucz niekoniecznie musi być ciągiem: może być też każdego innego typu. Map, którego klucze są typu Integer, jest w istocie tym, co List (z pewnymi różnicami).

Lekcja o kolekcjach - 3

– Mniej więcej rozumiem, ale chciałbym zobaczyć więcej przykładów.

– Raszi da Ci przykłady, ale chciałbym dodać kilka słów.

– Kolekcje i kontenery nie przechowują niczego zaraz po utworzeniu, ale możesz pojedynczo dodać elementy do każdego z nich. I jeśli to zrobisz, ich rozmiar dynamiczne się zmieni.

– To interesujące. Skąd będę wiedzieć, ile elementów zawiera kolekcja?

– Do tego służy metoda size(). Kolekcje mają wszystko, czego możesz potrzebować. Wierzę, że po kilku dodatkowych lekcjach sam zobaczysz, jakie one są wygodne.

– Mam nadzieję, Basiu.