Tablic w Javie ciąg dalszy 🙃! Przygotuję Ciebie do poznania z nowym rodzajem tablicy różniącym się tak naprawdę jednym szczegółem, jednak i tak warto to sobie przedstawić jako osobny rozdział. Oto przed Tobą tablica postrzępiona w języku Java, czyli jak sobie radzić w sytuacji, gdy każda z podtablic tablicy dysponuje innym rozmiarem 😳!
TABLICA POSTRZĘPIONA W JĘZYKU JAVA KOLEJNYM DOSTĘPNYM WARIANTEM!
Poznałeś(-aś) tablicę samą w sobie, było o tablicy tablic (czyli o metodzie definiowania tablicy wielowymiarowej okrężną drogą), teraz pozostało opowiedzieć o tablicy tablic, w których jest różna liczba danych! Bo tamta układała się w siatkę, czyli każda z podtablic miała tyle samo komórek. A co gdy chcemy, czy może raczej potrzebujemy, mieć podtablice różniące się liczbą elementów przechowywanych w sobie 🤔?
DLATEGO TO SIĘ NAZYWA POSTRZĘPIONĄ
Tablica postrzępiona (ang. ragged array) nie wymaga żadnych nowych sztuczek z naszej strony, wystarczy drobna modyfikacja w postępowaniu dla tablicy tablic poznanej wcześniej. Przypomnę, że chodziło tam o użycie pętli "for" do zdefiniowania każdej z podtablic:
int[][] numbers = new int[4][];
for (int i = 0; i < 4; ++i) {
numbers[i] = new int[4];
}
czyli to, co Java robi za nas gdy użyjemy takiego skrótu:
int[][] numbers = new int[4][4];
Wystarczy, że zamienisz stałą na jakąś zmienną, na przykład:
int[][] numbers = new int[4][];
for (int i = 0; i < 4; ++i) {
numbers[i] = new int[i + 1];
}
Już 😄. Tak jest tworzona tablica postrzępiona w języku Java. Jest nazywana jako "postrzępiona", czyli dysponująca podtablicami o nieregularnych kształtach 😝.
Możemy też zdefiniować rozmiary jawnie podając elementy już w momencie definicji:
int[][] numbers = new int[][] {
{5},
{40, 4},
{308, 16, 75},
{1980, -12, 54, 69}
};
A CO Z DOSTĘPEM?
Tak samo jak przy podtablicach o tym samym rozmiarze - zagnieżdżona pętla "for" i powoływanie się na długości podtablic przy pomocy stałej "length":
for (int y = 0; y < numbers.length; ++y) {
for (int x = 0; x < numbers[y].length; ++x) {
System.out.printo(numbers[y][x] + "\t");
}
System.out.println();
}
A gdybyście chcieli użyć pętli rozszerzonej:
for (int[] rows : numbers) {
for (int i : rows) {
System.out.printo(i + "\t");
}
System.out.println();
}
Też można 😊.
![]() |
Tablica postrzępiona to w gruncie rzeczy tablica tablic, w której podtablice są nieregularnej długości.
To już wszystko. Tablica postrzępiona w języku Java nie różni się niczym innym od poznanej wcześniej tablicy tablic poza różnymi rozmiarami podtablic. Reszta postępowania jest identyczna.
NASTĘPNY ARTYKUŁ: Funkcja w języku Java. Definicja i zastosowanie