
Autor: 12.06.2023
Java - jak działają tablice wielowymiarowe
Tablice wielowymiarowe to nic trudnego. Przeczytaj ten krótki artykuł i poznaj podstawowe techniki pracy z takimi tablicami w języku Java.
Tablica wielowymiarowa - prosty przykład
Pamiętasz grę w statki? Plansza do gry jest bardzo podobna do tablicy wielowymiarowej. Pokażemy najpierw w jaki sposób można zadeklarować taką planszę (board);
char[][] board;
Spróbujmy utworzyć taką planszę składającą się z 4 wierszy i 4 kolumn:
char[][] board = new char[4][4];
Tablicę należy rozumieć w taki sposób:
char[][] board = new char[wiersz][kolumna];
Tablicę można również zainicjować stosując poniższą technikę. Rozmiar tablicy zostanie wyliczony dynamicznie na podstawie ilości elementów. Czy tablica dwuwymiarowa nie przypomina ci trochę planszy do gry w statki? Spójrz, umieściliśmy na niej statki.
public class Conversion {
public static void main(String[] args) {
char[][] board = {
{' ', ' ', ' ', ' '},
{'o', ' ', ' ', ' '},
{'o', ' ', ' ', 'o'},
{'o', ' ', ' ', ' '}
};
}
}
Popatrzmy na powyższą tablicę dwuwymiarową. Mamy dostępne następujące statki:
- 1 jednomasztowiec
- 1 trójmasztowiec
W jaki sposób zatopimy nasz jednomasztowiec? Indeksy tablicy numerujemy od zera. Nasz jednomasztowiec znajduje się w kolumnie numer 3 oraz wierszu numer 2.
Możemy z łatwością wyliczyć jego pozycję czyli:
board[2][3]; //czyli 'o'
Na poniższym obrazku wyróżniliśmy miejsce, w którym przecina się wiersz z kolumną. Pamiętaj o tym, że indeksy numerujemy od 0!

Przetwarzanie za pomocą pętli
Całkiem dobrze to wygląda. A pamiętasz pętle programowe? Pętle i tablice doskonale się rozumieją. Tutaj nic się nie zmienia. Możemy bardzo zgrabnie wyświetlić całą planszę. Skoro mamy tablicę dwuwymiarową będziemy musieli użyć dwóch pętli - będą to pętle zagnieżdżone. Pętla zagnieżdżona to taka pętla, która znajduje się w ciele drugiej pętli. Oto przykład:
for(int i = 0; i < 5; i++) {
for(int j = 0; j < 5; j++) {
}
}
Wykorzystajmy tą wiedzę do wyświetlenia naszej planszy:
public class Conversion {
public static void main(String[] args) {
char[][] board = {
{' ', ' ', ' ', ' '},
{'o', ' ', ' ', ' '},
{'o', ' ', ' ', 'o'},
{'o', ' ', ' ', ' '}
};
for(int i = 0; i < board.length; i++) {
for(int j = 0; j < board[i].length; j++) {
System.out.print(board[i][j]);
}
System.out.println();
}
}
}
Zmienna licznikowa i odpowiada za pozycję wiersza, a zmienna licznikowa j odpowiada za pozycję kolumny naszej planszy do gry. Za rysowanie statków odpowiada pętla zagnieżdżona, a za wypisywanie nowych linii odpowiedzialna jest pętla otaczająca.
Oto rezultat naszej pracy:
o
o o
o
Podsumowanie
Teraz już wiesz jak zadeklarować oraz jak inicjalizować tablicę wielowymiarową w Java. Wiesz także jak użyć pętli do przetwarzania jej zawartości.
Jeśli dobrze poznać język Java i zdobyć umiejętności potrzebne do pracy na stanowisku Junior Java Developer, to zacznij naukę ze Ścieżką Kariery. Nauka kończy się egzaminem, który uprawnia cię do posługiwania się Certyfikatem Specjalisty.