kalendarz 17 lutego 2026 r.
Lista wszystkich kolekcji

Lista wszystkich kolekcji

kategorie: Java kolekcje
autor: Maciej Sobieniak

Lista kolekcji i interfejsów

W ramach powtórki poniżej przedstawiam wam listę kolekcji i interfejsów oraz wyjaśnię jak działa proces iteracji po elementach Set i Map, które nia maja określonego porzadku tak jak Listy.

1. Wprowadzenie do kolekcji w Javie

Kolekcje w Javie to specjalne struktury danych, które ułatwiają przechowywanie i operowanie na wielu obiektach jednocześnie. Zanim omówimy konkretne typy kolekcji, warto zrozumieć, dlaczego używamy kolekcji:

2. Dlaczego kolekcje są użyteczne?

  • Pozwalają na przechowywanie danych dynamicznie (bez stałych rozmiarów).

  • Ułatwiają wyszukiwanie, sortowanie i filtrowanie elementów.

  • Dają zestaw metod do manipulowania zawartością (dodawanie, usuwanie, iterowanie).

  • Eliminują potrzebę ręcznego zarządzania tablicami i ich rozmiarem.

Każda kolekcja implementuje odpowiedni interfejs, który definiuje, jakie operacje można na niej wykonywać.

3. Główne interfejsy i ich implementacje

Interfejs Klasa/implementacja Opis
List  ArrayList  List
 LinkedList  List
 Wektor  Wektor
 Stos  Stos
 Set    HashSet  Set
 TreeSet  Set
 SortedSet  Sortowany set
Map  HashMap Map/słownik
 TreeMap  Map/słownik
 SortedMap  Sortowany słownik
 Hashtable  Hash-table (pl. tablica mieszająca)

Zapraszam do lektury


Wyświetlanie elementy Set i Map.

Set i Map nie mają określonego porządku tak jak Listy, więc nie można użyć indeksu, aby wyświetlić ich elementy.

Do pracy z elementami Set i Map zostały utworzone specjalne obiekty nazwane iteratorami.

    Set<String> set = new HashSet<String>();
    set.add("Deszczyk");
    set.add("w");
    set.add("Hiszpanii");

     // Deklaruje iterator dla setu
     Iterator<String> iterator = set.iterator();

    while (iterator.hasNext())        // Sprawdza istnienie kolejnego elementu
    {
       // Sprawdza bieżący element i przechodzi do następnego
       String tekst = iterator.next();

        System.out.println(tekst);
    }
    List<String> lista = new ArrayList<String>();
    lista.add("Deszczyk");
    lista.add("w");
    lista.add("Hiszpanii");

    Iterator<String> iterator = lista.iterator();// // Deklaruje iterator dla listy

    while (iterator.hasNext())        // Sprawdza istnienie kolejnego elementu
    {
        // Sprawdza bieżący element i przechodzi do następnego
        String tekst = iterator.next();

        System.out.println(tekst);
    }
    Map<String, String> mapa = new HashMap<String, String>();
    mapa.put("pierwszy", "deszczyk");
    mapa.put("drugi", "w");
    mapa.put("trzeci", "Hiszpanii");

    Iterator<Map.Entry<String, String>> iterator = mapa.entrySet().iterator();

   while (iterator.hasNext())
    {
        // Sprawdza parę klucz-wartość
        Map.Entry<String, String> para = iterator.next();
        String klucz = para.getKey();            // Klucz
        String wartosc = para.getValue();        // Wartość
        System.out.println(klucz + ":" + wartosc);
    }

Jak widzisz w kilku przykładach powyżej musimy wywołać metodę iterator() na kolekcji, by pobrać obiekt iterator. Następnie sprawdzamy wszystkie elementy po kolei tak długo, aż do ostatniego elementu. Pobieramy kolejny element w kolekcji za pomocą wywołanie next() i następnie sprawdzamy czy jest jeszcze jakiś element w kolekcji za pomocą hasHext() na iteratorze.


Skrócona notacja do pracy z iteratorami

Na szczęście java posiada również pętle for-each do pracy z kolekcjami. Domyślnie używa ona iteratora, którym nie musimy się już zajmować.

    Set<String> set = new HashSet<String>();
    set.add("Deszczyk");
    set.add("w");
    set.add("Hiszpanii");

   for (String tekst : set)
    {
        System.out.println(tekst);
    }
    Map<String, String> mapa = new HashMap<String, String>();
    mapa.put("pierwszy", "deszczyk");
    mapa.put("drugi", "w");
    mapa.put("trzeci", "Hiszpanii");

    for (Map.Entry<String, String> para : mapa.entrySet())
    {
        String klucz = para.getKey();                      // Klucz
        String wartosc = para.getValue();        // Wartość
        System.out.println(klucz + ":" + wartosc);
    }

mapa

Komentarze (0)

Nie dodano jeszcze żadnych komentarzy

Odpowiadasz na komentarz:

Dodany:

Dodaj nowy komentarz:

Podobne atykuły, które mogą Cię zainteresować:

🧹 Garbage Collector w Javie – jak naprawdę działa automatyczne sprzątanie pamięci?

Programując w Java nie zwalniasz pamięci ręcznie. Nie wywołujesz free(), nie martwisz się o wskaźniki. A jednak aplikacja działa stabilnie, obiekty znikają, a pamięć się nie „zapcha”.

Za kulisami pracuje …

Cykl życia obiektu w Javie – od narodzin do sprzątania pamięci

Na pierwszy rzut oka obiekt w Javie wydaje się czymś prostym: tworzysz go, używasz i… zapominasz. W praktyce jednak każdy obiekt przechodzi kilka wyraźnych etapów, a ich zrozumienie pomogło mi …

Konstruktory w Javie – jak i po co tworzymy obiekty?

W Javie obiekty nie pojawiają się znikąd. Zanim zaczną „żyć” w pamięci programu, muszą zostać poprawnie zainicjalizowane. Właśnie w tym momencie do gry wchodzą konstruktory – specjalne metody odpowiedzialne …

== czy equals()? Jak poprawnie porównywać Stringi w Javie

Porównywanie napisów w Javie to jeden z tych tematów, które na pierwszy rzut oka wydają się banalne. W praktyce jednak bardzo często prowadzą do nieoczekiwanych wyników i trudnych do znalezienia …

Menu
Wykorzystuje pliki cookies!

Informuję, że stosuję pliki cookies - w celach statycznych, reklamowych oraz przystosowania serwisu do indywidualnych potrzeb użytkowników.
Są one zapisywane w Twoim urządzeniu końcowym. Można zablokować zapisywanie cookies, zmieniając ustawienia przeglądarki internetowej.