Tablice jedno- i wielo-wymiarowe
Tablice jednowymiarowe
Deklaracja tablicy jednowymiarowej w Javie:
typ[] nazwa_tablicy = new typ[liczba_elementów];
// Można też tak:
typ nazwa_tablicy[] = new typ[liczba_elementów];
// Można też utworzyć gotową tablicę wypełnioną danymi:
typ[] tablica = {wartosc1, wartosc2, wartosc3, ...};
Tablica ma z góry przyjęty rozmiar. Jeśli zaistnieje potrzeba dodania większej liczby elementów, konieczne będzie utworzenie większej tablicy, przepisanie całej dotychczas używanej tablicy i na końcu dodanie dodatkowych elementów. Problem ten w Javie jest rozwiązany za pomocą specjalnych struktur zwanych kolekcjami, o których dowiesz się w dalszej części niniejszego opracowania.
Jak się nibawem przekonasz, tablica w Javie to obiekt.
Aby zapisać i odczytać wartość elementu w tablicy, użyj następującego kodu:
tablica[0] = WARTOSC;
zmienna = tablica[i]; // gdzie i to indeks tablicy - np. tablica[0] == WARTOSC
Atrybut length obiektu tablicowego
Liczbę elementów w tablicy możemy odczytać przy użyciu atrybutu length w następujący sposób:
int liczbaElementowTablicy = tablica.length;
Tablice wielowymiarowe
Deklaracja tablicy dwuwymiarowej w Javie:
typ[][] nazwa_tablicy = new typ[liczba1][liczba2];
Aby zapisać i odczytać wartość elementu w tablicy, użyj przykładowo następującego kodu:
tablica[2][1] = 5;
int zmienna = tablica[2][1];
Dwuwymiarowa tablica to tablica tablic.
W Javie nie musi być symetryczna - czyli każda kolejna tablica w tablicy tablic może mieć różną wielkość (liczbę elementów).
Przykład:
int[][] tablica = new int[3][];
tablica[0] = new int[5];
tablica[1] = new int[1];
tablica[2] = new int[3];
Gdy użyjemy następującego kodu do zainicjowania, a następnie wyświetlenia zawartości naszej tablicy tablic:
// Inicjacja tablicy tablic przy użyciu samych ósemek
for(int i=0; i< tablica.length; i++)
for(int j=0; j< tablica[i].length; j++)
tablica[i][j] = 8;
// Wyświetlenie zawartości
for(int i=0; i< tablica.length; i++){
for(int j=0; j< tablica[i].length; j++)
System.out.print(tablica[i][j]);
System.out.println();
}
Uzyskamy następujący, niesymetryczny obraz zawartości tablicy tablica:
88888
8
888
Tablica może być wielowymiarowa - np. 3-, 4-, lub więcej-wymiarowa.