Java tablice | Kurs Java

Tablice Java

Tablica (ang. array) – Często podczas tworzenia kodu nie pracujesz na pojedynczej zmiennej, lecz na dużej ilości takich zmiennych. Zmienne mogą być np. ze sobą w jakiś sposób powiązane i wygodnie byłoby je jakoś połączyć ze sobą. Tak jak w codziennym życiu gdy np. sprzątamy mieszkanie, wrzucamy poduszki do jednego kosza 🧺 a książki 📚 do innego. Java też posiada takie „kosze” do przechowywania danych, a są nimi tablice.

W tym materiale opowiem Ci, czym są tablicę i jak je tworzyć.  Poznasz bliżej zagadnienie tablic wielowymiarowych i dowiesz się jak z nimi pracować.

Java – Tablice – wprowadzenie

Z tego materiału dowiesz się:

  • Czym jest tablica?
  • Jak się deklaruję tablicę?
  • Czym jest tablica wielowymiarowa?

Java – Tablice – Java arrays | Array in java

Tablica (ang. array) jest to specjalny typ zmiennej obiektowej, który służy jako kontener dla danych. Do poszczególnych danych w tablicy możemy odwoływać się za pomocą kluczy.

Zazwyczaj ta struktura wykorzystywana jest do przechowywania większej ilości uporządkowanych danych.

Przykładowo, zamiast definiować 100 zmiennych dla każdego użytkownika obsługiwanego przez aplikację, można zadeklarować tablicę przechowującą tych użytkowników. Takie rozwiązanie jest również bardziej uniwersalne, ponieważ chcąc dodać kolejnego użytkownika, wystarczy dodać nowy element do tablicy, zamiast deklarować kolejną zmienną.

Java – Typy obiektowe

W ramach tego materiału zajęliśmy się przede wszystkim tematem tablic – natomiast jeżeli chcesz poznać bliżej temat typów obiektowych zachęcam Cię do zapoznania się z poniższych materiałem: 

➡ ZOBACZ 👉: Typy obiektowe

Java array – Deklaracja tablicy

Chcąc zadeklarować nową tablicę, trzeba podać typ przechowywanych elementów oraz jej rozmiar.

⚠️ Rozmiar tablicy jest stały i nie może być modyfikowany podczas działania aplikacji. Dlatego podczas deklaracji trzeba podać jawnie jej rozmiar lub zadeklarować jej elementy, żeby kompilator na ich podstawie mógł sam wyliczyć rozmiar tablicy. ⚠️

👨‍🏫 Rozmiar tablicy może być określony przez wartość int, short lun byte, ale nie przez wartość long.

int[] array1 = new int[10]; //deklaracja tablicy przechowującej 10 liczb całkowitych
long[] array2 = new long[0]; //tablica 0-elementowa to również tablica, tylko nie ma elementów
double array3[] = new double[2]; //alternatywnie nawiasy kwadratowe mogą być również po nazwie zmiennej

Możliwe jest również zadeklarowanie tablicy, jednocześnie uzupełniając ją danymi. Pamiętaj, że w takim przypadku nie podaje się już rozmiaru tablicy!

int[] array4 = new int[]{1, 2, 3};

Java array – Tablica i jej cechy obiektowe

Jako że dowolna tablica jest również typem obiektowym, dziedziczy po klasie Object. Dzięki czemu ma np. metodę equals, ale również wprowadza nowe cechy np. zmienną length, która odpowiada ilości elementów w tablicy.

int[] array1 = new int[]{1, 2};
int[] array2 = new int[]{1, 2};

assertFalse(array1.equals(array2));
Assert.assertArrayEquals(array1, array2);
Assert.assertEquals(2, array1.length);

Ponieważ metoda equals dziedziczy domyślną implementację z klasy Object, nawet dla tablic o takich samych elementach zwróci fałsz.

Java array – Wartości domyślne

Deklarując tablicę i nie podając jakimi danymi ma być uzupełniona, zostanie ona uzupełniona wartościami domyślnymi dla wybranego typu, np. dla liczb będzie to 0, a dla zmiennych referencyjnych: null.

int[] array1 = new int[3];
Object[] array2 = new String[3];

System.out.println(Arrays.toString(array1)); // [0, 0, 0]
System.out.println(Arrays.toString(array2)); // [null, null, null]

Java array – Indeksy (ang. indexes)

Wartości przechowywane w tablicach mogą być odczytywane oraz modyfikowane za pomocą indeksów, pod którymi są przechowywane.

Indeksy w tablicy są liczbami całkowitymi i zaczynają się od zera.

// 1
int[] array1 = new int[]{10, 20, 30, 40}; 
// 2
array1[0] = 1; 
// 3
array1[1] = array1[1] * 3;
  1. Zainicjowano tablicę 4 elementową, pod indeksem 0 jest liczba 10, pod indeksem 1 liczba 20 itp.
  2. Modyfikacja elementu pod indeksem 0. Tablica ma wartość: [1, 20, 30, 40].
  3. Modyfikacja elementu pod indeksem 1. Tablica ma wartość: [1, 60, 30, 40].

java arrays java tablice indeks

⚠️ Podczas operacji na tablicach trzeba pamiętać, żeby nie przekroczyć jej zakresu indeksów, czyli od 0 do (ilość elementów tablicy – 1), ponieważ dostaniemy wtedy wyjątek: java.lang.ArrayIndexOutOfBoundsException. ⚠️

Java arrays – Tablice – Pętla for | For java array

Dostęp do wszystkich elementów tablicy można uzyskać przy pomocy pętli for.

int[] numbers = new int[]{1, 2, 3, 4, 5};

for (int i = 0; i < numbers.length; i++) {
    numbers[i]++;
}
// Wynikiem końcowym będzie numbers = {2,3,4,5,6}

Java arrays – Tablice wielowymiarowe

Java poza standardowymi tablicami przechowującymi typy proste lub obiekty oferuje również tablice wielowymiarowe.

Jak już wcześniej ustaliliśmy, tablica jest również obiektem. Dlatego nic nie stoi na przeszkodzie, żeby zrobić tablicę przechowującą inne tablice 🤯.

Idąc dalej tym tropem, można stworzyć tablice dwu, trzy i więcej wymiarowe. Jednak w praktyce rzadko wykorzystuje się tablice o więcej niż 3 wymiarach.

Dodatkowo tablice wielowymiarowe nie muszą być symetryczne. To znaczy, że możemy np. zdefiniować tablicę, której elementami będą tablice: 2 elementowa, 4 elementowa i 0 elementowa.

int[] array1 = new int[]{10, 20};
int[] array2 = new int[4];
int[][] array = new int[][]{array1, array2, new int[0]};

System.out.println(Arrays.deepToString(array)); // [[10, 20], [0, 0, 0, 0], []]

Java – Tablice – podsumowanie

W ramach tego materiału dowiedzieliśmy się, czym są tablice. Bliżej zapoznaliśmy się z zagadnieniem indeksów i tablic wielowymiarowych. Jeżeli chcesz kontynuować swoją przygodę z Javą i poznać inne struktury, które oferuję ten język programowania – to zapraszam do kolejnego tematu z serii o Javie. Porozmawiamy o pętlach, ich rodzajach i możliwościach wykorzystania.

➡ ZOBACZ 👉: Pętla (for, while, do while, foreach)

Kierunek Java

W serii o Javie zapoznajesz się z podstawowymi tematami o Javie. Jeżeli chcesz bardziej kompleksowo zagłębić się w temat Javy, poczytać, posłuchać o Javie, to zachęcam Cię do zapoznania się z moim kursem „Kierunek Java”:

➡ ZOBACZ 👉: Kierunek Java


20+ BONUSOWYCH materiałów z programowania

e-book – „8 rzeczy, które musisz wiedzieć, żeby dostać pracę jako programista”,
e-book – „Java Cheat Sheet”,
checklista – „Pytania rekrutacyjne”
i wiele, wiele wiecej!

Jak zostać programistą

No comments
Share:

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *