multidimensional arrays java 2d
Овај водич о вишедимензионалним низовима у Јави расправља о томе како иницијализовати, приступити и одштампати 2д и 3д низове у Јави са примерима синтаксе и кода:
До сада смо разговарали о главним концептима једнодимензионалних низова. Ови низови чувају једну секвенцу или листу елемената истог типа података.
Јава такође подржава низове са више од једне димензије и они се називају вишедимензионални низови.
=> Овде проверите СВЕ Јава туторијале.
Јава вишедимензионални низови су распоређени као низ низова, тј. Сваки елемент вишедимензионалног низа је други низ. Заступљеност елемената је у редовима и колонама. Тако можете добити укупан број елемената у вишедимензионалном низу множењем величине реда са величином колоне.
Дакле, ако имате дводимензионални низ 3 × 4, онда је укупан број елемената у овом низу = 3 × 4 = 12.
У овом упутству истражићемо вишедимензионалне низове на Јави. Прво размотримо дводимензионалне низове пре него што пређемо на тродимензионалне низове.
Шта ћете научити:
- Дводимензионални низ
- Јава вишедимензионални низови
- Тродимензионални низови у Јави
- Често постављана питања
- Закључак
Дводимензионални низ
Најједноставнији од вишедимензионалних низова је дводимензионални низ. Једноставна дефиниција 2Д низова је: 2Д низ је низ једнодимензионалних низова.
У Јави се дводимензионални низ чува у облику редова и колона и представља у облику матрице.
Општа декларација дводимензионалног низа је,
data_type () () array_name;
Ево,
дата_типе = тип података елемената који ће бити похрањени у низу.
арраи_наме = име дводимензионалног низа.
Можете створити 2Д низ користећи нови на следећи начин:
data_type () () array_name = new data_type(row_size)(column_size);
Ево,
ров_сизе = број редова које ће низ садржати.
цолумн_сизе = број колона које ће низ садржати.
Дакле, ако имате низ 3 × 3, то значи да ће имати 3 реда и 3 колоне.
Изглед овог низа биће приказан доле.
Редови / колоне | Колона1 | Колона2 | Колона3 |
---|---|---|---|
Ред1 | (0,0) | (0,1) | (0,2) |
Ред2 | (1.0) | (1,1) | (1,2) |
Ред 3 | (2.0) | (2.1) | (2.2) |
Као што је приказано горе, свако пресечење реда и колоне чува елемент 2Д низа. Дакле, ако желите да приступите првом елементу у 2д низу, онда је то дато са (0, 0).
Белешка да како је величина низа 3 × 3, у овом низу можете имати 9 елемената.
Целобројни низ под називом „миарраи“ од 3 реда и 2 колоне може се декларисати као испод.
int ()() myarray = new int(3)(2);
Једном када је низ декларисан и креиран, време је да се иницијализује вредностима.
Иницијализовање 2д низа
Постоје различити начини иницијализације 2д низа вредностима. Прва метода је традиционална метода додељивања вредности сваком елементу.
Општа синтакса за иницијализацију је:
array_name(row_index)(column_index) = value;
Пример:
int()() myarray = new int(2)(2); myarray(0)(0) = 1; myarray(0)(1) = myarray(1)(0) = 0; myarray(1)(1) = 1;
Горе наведени изрази иницијализују све елементе датог 2д низа.
Ставимо га у програм и проверимо излаз.
public class Main { public static void main(String() args) { int()() myarray = new int(2)(2); myarray(0)(0) = 1; myarray(0)(1) = myarray(1)(0) = 0; myarray(1)(1) = 1; System.out.println('Array elements are:'); System.out.println(myarray(0)(0) + ' ' +myarray(0)(1)); System.out.println(myarray(1)(0) + ' ' +myarray(1)(1)); } }
Излаз:
Ова метода може бити корисна када су димензије мање. Како димензија низа расте, тешко је користити овај метод појединачне иницијализације елемената.
Следећи метод иницијализације 2д низа у Јави је иницијализацијом низа само у време декларације.
Општа синтакса за овај метод иницијализације је дата у наставку:
data_type()() array_name = {{val_r1c1,val_r1c2,...val_r1cn}, {val_r2c1, val_r2c2,...val_r2cn}, … {val_rnc1, val_rnc2,…val_rncn}};
На пример, ако имате низ 2 × 3 типа инт, онда можете га иницијализовати декларацијом као:
int ()() intArray = {{1, 2, 3}, {4, 5, 6}};
Следећи пример приказује 2д декларацију низа са иницијализацијом.
public class Main { public static void main(String() args) { //2-d array initialised with values int()() intArray = { { 1, 2 }, { 3, 4 },{5,6}}; //print the array System.out.println('Initialized Two dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { System.out.print(intArray (i)(j) + ' '); } System.out.println(); } } }
Излаз:
најбоље веб странице за гледање анимеа синхронизоване
У горњем програму, низ се иницијализује у тренутку саме декларације, а затим се приказују вредности.
Такође можете иницијализовати или доделити вредности 2д низу помоћу петље као што је приказано доле.
int()() intArray = new int(3)(3); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i+1; } }
Следећи програм примењује горњи код.
public class Main { public static void main(String() args) { //declare an array of int int()() intArray = new int(3)(3); System.out.println('Array elements are:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i+1; //assign values to each array element System.out.print(intArray(i)(j) + ' '); //print each element } System.out.println(); } } }
Излаз:
Сваком елементу у горе наведеном 2д пољу додељује се вредност „и + 1“. То чини да сваки елемент у низу низа садржи исту вредност.
Приступ и испис 2д низа
Већ знате да приликом иницијализације 2д низа можете иницијализовати појединачне елементе низа у вредност. То се постиже коришћењем индекса редова и индекса колоне низа за приступ одређеном елементу.
Слично иницијализацији, такође можете приступити вредности појединачног елемента и одштампати га кориснику.
Општа синтакса за приступ елементу низа је:
data_typeval = array_name(row_index)(column_index);
Где је арраи_наме низ чији се елемент приступа, а дата_типе је исти као тип података низа.
Следећи програм показује како се приступа и штампа поједином елементу.
public class Main { public static void main(String() args) { //two dimensional array definition int()() intArray = {{1,2},{4,8}}; //Access individual element of array intval = intArray(0)(1); //print the element System.out.println('Accessed array value = ' + val); System.out.println('Contents of Array:' ); //print individual elements of array System.out.println(intArray(0)(0) + ' ' + intArray(0)(1)); System.out.println(intArray(1)(0) + ' ' + intArray(1)(1)); } }
Излаз:
На овај начин можете лако приступити и одштампати појединачне елементе низа помоћу индекса редова и ступаца затворених у углате заграде (()).
Можете одштампати читав низ одједном у табеларном формату као што је приказано горе (такође назван матрични облик) помоћу фор петље. Како је ово дводимензионални низ, за ово требате имати две петље. Једна петља за итерацију кроз редове, тј. Спољна и унутрашња петља за прелазак колона.
У било ком тренутку (тренутна итерација), одређени елемент у низу је дат са,
име_реда (и) (ј);
Где је „и“ тренутни ред, а „ј“ тренутни ступац.
Следећи програм приказује штампање 2д низа помоћу петље „фор“.
public class Main { public static void main(String() args) { //two dimensional array definition int()() intArray = new int(3)(3); //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i*j; //assign value to each array element System.out.print(intArray (i)(j) + ' '); } System.out.println(''); } } }
Излаз:
У горњем програму, 2д низ се иницијализује, а затим се елементи штампају помоћу два фор петље. Спољни се користи за праћење редова, док је унутрашњи фор петља за колоне.
Дужина низа Јава 2д
Дводимензионални низ је дефинисан као низ једнодимензионалног низа. Дакле, када вам треба дужина 2д низа она није тако једноставна као код једнодимензионалног низа.
Својство ленгтх за дводимензионални низ враћа број редова у низу. Сваки ред је једнодимензионални низ. Већ знате да се дводимензионални низ састоји од редова и колона. Величина колоне може се разликовати за сваки ред.
Отуда величину сваког реда можете добити преласком кроз број редова.
Следећи програм даје дужину низа (број редова) као и величину сваког реда.
public class Main { public static void main(String() args) { //initialize 2-d array int()() myArray = { { 1, 2, 3 }, { 4, 5 } }; System.out.println('length of array:' + myArray.length); //number of rows for(int i=0;i Излаз:

Дводимензионални низ горе дефинисан има два реда. Сваки ред је једнодимензионални низ. Први 1Д низ има 3 елемента (3 колоне), док други ред има 2 елемента.
Следећи Јава програм приказује употребу својства ленгтх за испис 2д низа.
public class Main { public static void main(String() args) { //two dimensional array definition int()() myarray = new int(3)(3); //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i Излаз:

Као што је већ поменуто, спољна петља представља редове, а унутрашња фор петља колоне.
Белешка: Завршни услов у обе петље користи својство ленгтх, прво за итерацију кроз редове, а затим кроз ступце.
Јава вишедимензионални низови
Већ смо видели дводимензионалне низове. Јава подржава низове са више од две димензије.
Општа синтакса вишедимензионалног низа је следећа:
data_type (d1)(d2)…(dn) array_name = new data_type(d1_size)(d2_size)…(dn_size);
Ево,
д1, д2… дн = димензије вишедимензионалног низа
(д1_сизе) (д2_сизе)… (дн_сизе) = одговарајуће величине димензија
дата_типе = тип података елемената низа
арраи_наме = име вишедимензионалног низа
Као пример још једног вишедимензионалног низа осим 2д низа, разговарајмо о детаљима тродимензионалних (3д) низова.
Тродимензионални низови у Јави
Већ смо разговарали о томе да низ постаје све сложенији како се њихове димензије повећавају. Тродимензионални низови су сложени за вишедимензионалне низове. Тродимензионални се може дефинисати као низ дводимензионалних низова.
Општа дефиниција тродимензионалног низа дата је у наставку:
data_type () () () array_name = new data_type (d1)(d2)(d3);
Ево,
д1, д2, д3 = величине димензија
дата_типе = тип података елемената низа
арраи_наме = име 3д низа
Пример дефиниције 3д низа је:
int () () () intArray = new int(2)(3)(4);
Горња дефиниција 3д низа може се протумачити као да има 2 табеле или низа, 3 реда и 4 колоне које броје до 2к3к4 = 24 елемента.
То значи да се у 3д низу три димензије тумаче као:
- Број табела / низова: Прва димензија означава колико ће табела или низова имати 3д низ.
- Број редова: Друга димензија означава укупан број редова које ће низ имати.
- Број колона: Трећа димензија означава укупан број колона у 3д низу.
Иницијализујте 3д низ
Приступи који се користе за иницијализацију 3д низа су исти као они који се користе за иницијализацију дводимензионалних низова.
Можете или иницијализовати низ додељивањем вредности појединачним елементима низа или иницијализовати низ током декларације.
Пример у наставку приказује иницијализацију 3д низа док је декларација.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() intArray = { { { 1, 2, 3}, { 4, 5, 6 } , { 7, 8, 9 } } }; System.out.println ('3-d array is given below :'); //print the elements of array for (int i = 0; i <1; i++) for (int j = 0; j < 3; j++) for (int z = 0; z < 3; z++) System.out.println ('intArray (' + i + ')(' + j + ')(' + z + ') = ' + intArray (i)(j)(z)); } }
Излаз:

Након иницијализације 3д низа током декларације, приступили смо појединачним елементима низа и одштампали их.
Приступ и испис 3д низа
Опет, штампање и приступање елементима низа у тродимензионалном низу слично је ономе у дводимензионалним низовима.
Програм у наставку користи петље за приступ елементима низа и испис на конзоли.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() myArray = { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 1, 4, 9 }, { 16, 25, 36 } }, { { 1, 8, 27 }, { 64, 125, 216 } } }; System.out.println('3x2x3 array is given below:'); //print the 3-d array for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { for (int k = 0; k < 3; k++) { System.out.print(myArray(i)(j)(k) + ' '); } System.out.println(); } System.out.println(); } } }
Излаз:

Горњи програм приказује табеларни приказ тродимензионалног низа. Као што је приказано, то је низ 3к2к3 што значи да има 3 табеле, 2 реда и 3 колоне и самим тим 18 елемената.
Већ је поменуто да величина колоне може да варира у вишедимензионалном низу. Пример у наставку приказује тродимензионални низ са различитим величинама колона.
Овај програм такође користи побољшану петљу фор за пролазак кроз низ и приказ његових елемената.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() intArray = { {{10, 20, 30},{20, 40, 60}}, { {10, 30,50,70},{50},{80, 90}} }; System.out.println('Multidimensional Array (3-d) is as follows:'); // use for..each loop to iterate through elements of 3d array for (int()() array_2D: intArray) { for (int() array_1D: array_2D) { for(intelem: array_1D) { System.out.print(elem + ' '); } System.out.println(); } System.out.println(); } } }
Излаз:

Улазни низ који се користи је тродимензионални низ са променљивом дужином колона. Побољшано за сваку петљу која се користи за сваку димензију приказује садржај низа у табеларном формату.
Често постављана питања
П # 1) Шта подразумевате под дводимензионалним низом?
Одговор: Дводимензионални низ назива се низом низова и обично је организован у облику матрица које се састоје од редова и ступаца. Дводимензионални низ проналази своју употребу углавном у релационим базама података или сличним структурама података.
П # 2) Шта је једнодимензионални низ у Јави?
Одговор: Једнодимензионални низ у Јави је низ са само једним индексом. Ово је најједноставнији облик низова у Јави.
П # 3) Која је разлика између једнодимензионалног низа и дводимензионалног низа?
Одговор: Једнодимензионални низ чува један низ елемената и има само један индекс. Дводимензионални низ чува низ низова елемената и користи два индекса за приступ његовим елементима.
П # 4) Шта значи бити дводимензионалан?
Одговор: Дводимензионални значи да има само две димензије. У геометријском свету објекти који имају само висину и ширину су дводимензионални или 2Д објекти. Ови предмети немају дебљину или дубину.
Трокут, правоугаоници итд. Су 2Д објекти. У софтверском смислу, дводимензионална и даље значи имати две димензије и обично дефинишемо структуре података попут низова који могу имати 1, 2 или више димензија.
питања за интервју за подешавање перформанси орацле дба
П # 5) Који је први у низу - редови или ступци?
Одговор: Дводимензионални низови су представљени као матрице, а матрице су обично записане у терминима редови к колоне. На пример, матрица величине 2 × 3 имаће 2 реда и 3 колоне. Дакле, и за 2Д низ редови су на првом месту, а ступци следећи.
Закључак
Све се овде односило на вишедимензионалне низове на Јави. Разговарали смо о свим аспектима дводимензионалних низова као и низа са више од две димензије.
Они се обично називају низом или низовима, јер је у случају вишедимензионалних низова сваки елемент други низ. Дакле, можемо рећи да низ садржи други низ или једноставно низ низова.
У нашим предстојећим водичима истражићемо више о низовима, а затим прећи на друге колекције.
=> Овде припазите на једноставну серију Јава тренинга.
Препоручено читање
- Јава низ - Како исписати елементе низа у Јави?
- Јава генерички низ - Како симулирати генеричке низове у Јави?
- Мултидимензионални низови и назубљени низови у Ц #
- Увод у Јава низове и сродне концепте
- Мултидимензионални низови у Ц ++
- Јава типови података, петље, низови, прекидачи и тврдње
- Јава Арраи - Декларишите, направите и иницијализујте низ у Јави
- Водич за дужину Јава низа са примерима кода