BLACK WEEKS DO -60%     |        7-24 listopada     |        + dodatkowe -10% dla zamówień od 150 zł

close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
co to kolekcje w języku java

Java - wprowadzenie do kolekcji

Kolekcje to gotowe do użycia struktury danych. Są one częścią tzw. biblioteki standardowej. W praktyce kolekcje pozwalają łatwo zaimplementować różne popularne struktury: kolejkę, listę, stos itp.

Najważniejsza zaleta kolekcji Java to sam fakt, że możesz ich w dowolnym momencie użyć. Zamiast pisać kod od zera, po prostu importujesz potrzebną część biblioteki. Spójrzmy więc teraz na kilka podstawowych przykładów wbudowanych kolekcji języka Java.

poznaj kolekcje w języku java

Java to sprawdzony, niezawodny i bardzo rozpowszechniony język programowania.

Dowiedz się więcej

Ważna rzecz - import

Zanim zaczniemy korzystać z kolekcji, najpierw musimy je zaimportować. Operacja importu jest bardzo prosta:


import java.util.ArrayList;
import java.util.List;

W powyższym fragmencie kodu importujemy klasę ArrayList oraz interfejs List z pakietu java.util. Od teraz możemy z powyższych elementów korzystać w naszym kodzie. Opcjonalnie możesz zaimportować całą zawartość pakietu util:


import java.util.*;

Wystarczy użyć gwiazdki.

Przykład - ArrayList

Kolekcja ArrayList to struktura znana potocznie jako Lista. Jest swego rodzaju rozwinięciem standardowych tablic dostępnych w Java. Popatrz na kod:


import java.util.*;
 
public class Main {
   public static void main(String[] args) {
       List countries = new ArrayList<>();
 
       countries.add("Belgium");
       countries.add("Norway");
       countries.add("Poland");
 
       System.out.println(countries.get(0));
   }
}

Najpierw tworzymy nowy obiekt listy: List countries = new ArrayList<>(). Następnie używamy metody add() aby dodać kilka wartości. Zauważ, że nasza lista przyjmuje wartości typu string - to zostało ustalone podczas tworzenie obiektu.

Ostatni element przykładu to metoda get(), która pobiera element o wskazanym numerze indeksu. Działa to tak samo jak w przypadku standardowych tablic. Plusem tej kolekcji jest to, że jej rozmiar zmienia się dynamicznie i nie trzeba go z góry deklarować. Po prostu rozmiar będzie się automatycznie dopasowywał do ilości elementów.

Przykład - Stack

Stack to struktura znana jako Stos. Cechą charakterystyczną takiego stosu jest to, że mamy dostęp wyłącznie do elementu na samej górze. Jeśli potrzebny nam jest element znajdujący się niżej to najpierw musimy “zdjąć” elementy z góry. Inaczej mówiąc: element dodany jako ostatni, będzie elementem który ze stosu zejdzie jako pierwszy.

Popatrz na przykładowy kod:


import java.util.*;
 
public class Main {
   public static void main(String[] args) {
       Stack stack = new Stack<>();
 
        stack.push("-1-");
        stack.push("-2-");
        stack.push("-3-");
 
        System.out.println(stack);
        stack.pop();
        System.out.println(stack);
   }
}

Tworzymy najpierw nowy obiekt klasy Stack. Zauważ, że będzie on przyjmował dane typu string. Następnie dodajemy kilka elementów za pomocą metody push().

Jeśli kod uruchomimy to uzyskamy następujący wynik:


[-1-,-2-,-3-]
[-1-,-2-]

Wyprowadzamy stos do konsoli - widać, że zawiera on trzy elementy. Potem za pomocą metody pop() usuwamy element na górze stosu. Wyraźnie widać kluczową zasadę działania stosu - element dodany jako ostatni jest usuwany jako pierwszy. Usuwać elementy możemy wyłącznie od góry stosu.

Przykład - PriorityQueue

Kolekcja PriorityQueue to popularna kolejka. Zasadę działania zna każdy - im wcześniej staniesz w kolejce tym szybciej załatwisz swoje sprawy. Albo inaczej: im większy masz priorytet tym szybciej zostaniesz obsłużony.

Od razu przejdźmy od kodu:


​​import java.util.*;
 
public class Main {
   public static void main(String[] args) {
       PriorityQueue queue = new PriorityQueue<>();
       queue.offer(1);
       queue.offer(100);
       queue.offer(200);
       queue.offer(2);
 
       System.out.println(queue);
 
       while(!queue.isEmpty()) {
           System.out.println("Result: " + queue.poll());
       }
   }
}

Jak zwykle zaczynamy od utworzenia nowej instalacji. Tym razem jest to obiekt klasy PriorityQueue - nasza kolejka będzie przechowywać dane typu integer.

Za pomocą metody offer() dodajemy nowe elementy. Następnie wyprowadzamy całą kolejkę do konsoli.

Kolejny krok to opróżnianie kolejki za pomocą pętli. Wyprowadzamy kolejne elementy do momentu, w którym kolejka zostanie opróżniona. Zwróć uwagę na wynik:


[1, 2, 200, 100]
Result: 1
Result: 2
Result: 100
Result: 200

Elementy są wyprowadzane zgodnie z ich priorytetem. Największy priorytet ma wartość 1. A najmniejszy ma wartość 200. Czyli elementy są wyprowadzane od 1 do 200.

poznaj kolekcje w języku java

Java to sprawdzony, niezawodny i bardzo rozpowszechniony język programowania.

Dowiedz się więcej

Podsumowanie

Te trzy przykłady, które pokazaliśmy w artykule to dopiero początek. Wbudowane kolekcje Java oferują znacznie więcej możliwości. Każdy programista Java powinien poznać ten temat, przynajmniej w podstawowym stopniu. To wiedza, która przyda ci się na każdym kroku.

Chcesz dowiedzieć się więcej na temat kolekcji? Zapraszamy na kurs Java - Kolekcje. Znajdziesz w nim aż kilkanaście różnych struktur, które bardzo ci pomogą w codziennej pracy z kodem Java. W trakcie kursu rozwiążesz dziesiątki zadań i praktycznych ćwiczeń - dzięki nim zdobędziesz realne, przydatne umiejętności pracy z kolekcjami.