Jason. Cała informatyka w jednym miejscu!

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 w języku Java

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.

PODOBNE ARTYKUŁY