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.