Въведение в 3D масиви в Java

Преди да разберем 3D масиви в Java, трябва да знаем какво представлява масивът и защо се използва в езиците за програмиране? Масивите са в основата си група от подобен тип стойности, която е посочена със същото име. Под подобен тип имаме предвид стойностите на един и същ тип данни. Помислете за ситуация, в която искаме да съхраним имената на всички ученици от един клас. Тъй като името на Student е от тип данни на String, но би било неправилно да съхранявате името на всеки ученик в различна променлива, тъй като не само ще заема много място, но и създава объркване в програмата, като увеличава почти еднакъв редове от код. За да се справят с тези видове ситуации, се използват масиви. Програмистът може да създаде масив от имена на ученици и да определи размера му в момента на създаване на обекта на масива. По този начин няма да е необходимо да определяме името на променливата за всяко име на ученик и винаги, когато искаме да актуализираме, вмъкваме и извличаме стойностите, могат да се използват индексите на този масив.

В Java променлива на масив е декларирана подобно на другите променливи със знак () след типа данни от нея. Размерът на масива трябва да бъде определен по време на създаването на масива и той остава постоянен. До елементите на масива се осъществява достъп чрез числовите индекси с първия елемент, запазен при 0 индекса. В Java има основно два типа масиви, т.е. едномерни и многоизмерни масиви. 3D масивите попадат в категорията на многоизмерните масиви. Многомерните масиви с прости думи могат да бъдат определени като масив от масиви, а 3D масивите са масив от 2D масиви. 3D е сложна форма на многоизмерни масиви. Обмислете сценарий на апартаменти в сграда. Да предположим, че в апартамента има 10 етажа и всеки етаж има 5 апартамента, а всеки апартамент има 3 стаи. За обработка на тези данни при програмирането се използват 3D масиви.

Как се определят 3D масиви в Java?

Java използва много прост начин за определяне на масивите. Квадратните скоби ('()') се използват за дефиниране на обекта на масива след типа данни на масива. Човек трябва да определи размера в момента на деклариране на масива. 3D масивите са дефинирани с три скоби. По-долу е даден синтаксисът на дефиниране на 3D масиви в Java:

Data_type array_name( ) ( ) ( ) = new array_name(a)(b)(c);

  • Тук data_type: тип данни от елементи, които ще се съхраняват в масива. array_name: име на масива
  • ново: ключова дума за създаване на обект в Java
  • a, b, c: съдържа числовите стойности за различните измерения.

Синтаксис:

int ( ) ( ) ( ) arr = new int (10)(4)(3);

В горния пример може да има максимум 10x4x3 = 120 елемента, съхранявани от масива „arr“.

Как да създадете 3D масиви и да вмъкнете стойности в тях в Java?

Създаването на 3D масиви в Java е толкова просто, колкото и създаването на 1D и 2D масиви. Както бе споменато по-горе, важно е да определите размера на масива към момента на деклариране. Създаването на 3D масиви включва още една стъпка на преминаване / въвеждане на стойности в тях под формата на масив от 2D масиви. Можем да определим размера на масива и да вмъкнем / въведем стойностите след това или можем директно да предадем стойностите в масив. Така начинът на стойност, дефиниран в 3D масиви, е даден по-долу:

Синтаксис

data_type()()() arr_name =
(
(
(Array1Row1Col1, Array1Row1Col2, ….),
(Array1Row2Col1, Array1Row2Col2, ….)
),
(
(Array2Row1Col1, Array2Row1Col2, ….),
(Array2Row2Col1, Array2Row2Col2, ….)
)
)

код

int num_array ( ) ( ) ( ) = (
(
(10, 20, 99),
(30, 40, 88)
),
(
(50, 60, 77),
(80, 70, 66)
),
);

Масивите са вътре в масив и затова се нарича масив от 2D масиви. В горния пример, ако виждаме ясно, има два двумерни масива от числа и този 2D.

Как да инициализираме елементи от 3D масиви в Java?

Както бе споменато по-горе, инициализирането на целия масив наведнъж е най-добрата практика при работа с 3D масиви, тъй като намалява шансовете за объркване за бъдещо програмиране. Въпреки че можем също така да зададем по една стойност в масив, който може да бъде направен по посочения по-долу начин:

Синтаксис:

int employee_arr( ) ( ) ( ) = new int (10)(3)(3);
employee_arr(0)(0)(0) = 100; // it will assign value 100 at very first element of employee_arr employee_arr(0)(0)(1) = 200; // it will assign value 200 at second element of employee_arr employee_arr(0)(0)(2) = 300; // it will assign value 100 at third element of employee_arr

Горният подход е уморителен и не се счита за добър подход, тъй като заема много място и увеличава реда на кода. Има и един подход, използващ контурите, които се считат за добра практика при работа с 3D масиви.

Синтаксис:

int Student_arr ( ) ( ) ( ) = new arr (2) (3) (4); int x, y, z, value;
for(x = 0; x< 2; x++) (
for(y = 0; y< 3; y++) (
for(z = 0; z< 4; z++) (
Student_arr(x)(y)(z) = value; value= value*2;
)
)
)

В горния пример всички елементи на масива се вмъкват с помощта на бримките, където x = не. от таблици, y = общ брой редове и z обозначава общия брой колони в 3D масив, наречен Student_arr.

Как да получите достъп до елементи от 3D масиви в Java?

В Java обаче можем да получим достъп до единичния елемент от масива, като използваме индексите, тъй като сме ги инициализирали чрез индекси, подобни на дадените по-долу:

Синтаксис:

int arr ( ) ( ) ( ) = new arr (3) (3) (3);
// Accessing the array elements of 3D arrays in Java using indices

Синтаксис:

System.out.println(“The first element of array is” + arr(0)(0)(0));

В горния синтаксис той ще извлече елемента в (0) (0) (0) индекс на масива 'arr', но обикновено, ако искаме да извлечем всички елементи на масив, тогава този подход не се следва и елементите са достъп до цикли, тъй като извлича всички елементи наведнъж. Докато достъпът до елементи чрез контури, се използват 3 цикъла, в които първият цикъл определя общия брой таблици, а вторият цикъл определя редовете, а третият цикъл определя колоните, както е дадено по-долу:

Код:

class Student(
public static void main(String() args) (
// student_arr is the name of 3d array int()()() student_arr= (
(
(10, 20, 30),
(20, 30, 40)
),
(
(40, 50, 60),
(10, 70, 80),
)
);
// for loop to iterate through each element of 3D array for (tables = 0; tables<2; tables++)
(
for (rows= 0; rows <2; rows++)
(
for (columns= 0; columns<3; columns++)
(
System.out.print("student_arr(" +tables+ ")(" +rows+ ")(" +columns+ ") = "
+student_arr(tables)(rows)(columns)+ "\t");
)
System.out.println();
)
System.out.println();
)
)

изход:

student_arr (0) (0) (0) = 10student_arr (0) (0) (1) = 20student_arr (0) (0) (2) = 30
student_arr (0) (1) (0) = 20student_arr (0) (1) (1) = 30student_arr (0) (1) (2) = 40
student_arr (1) (0) (0) = 40student_arr (1) (0) (1) = 50student_arr (1) (0) (2) = 60
student_arr (1) (1) (0) = 10student_arr (1) (1) (1) = 70student_arr (1) (1) (2) = 80

Как да премахнете елементи от 3D масиви в Java?

  • Премахването на елементи в 3D масиви в Java е просто и подобно на този, който ги инициализира. Класът Array не предоставя никакъв директен метод за добавяне или изтриване на елемент от масивите. Тъй като размерът на масива не може да се увеличава или намалява динамично, толкова проста логика на програмиране се прилага за изпълнение на тази задача. Просто можем да използваме 3 бримки, за да преминем през целия масив, като посочим индекса, с който искаме да премахнем елемента. Можем да създадем нов масив или да копираме оригиналния масив, оставяйки елемента, който трябва да бъде премахнат.
  • Чрез този процес на премахване и актуализиране на елементи в 3D масива се използва рядко. Вместо това ArrayList се използва в този тип случаи, тъй като предоставя различни функции за директно премахване на елементи от него. В ArrayList методът "премахване ()" се използва за премахване на елементи от предоставения индекс в ArrayList. Ако имаме повтарящи се стойности в масив и искаме да премахнем първото събитие в масива, който можем да използваме, методът ArrayUtils.removeElement (масив, елемент) за същия, който взема 2 аргумента, т.е. целият масив и елементът, който трябва да бъдете отстранени от него.

Как да актуализирате елементи

Няма такъв метод за актуализиране на елементи в 3D масив. Прилага се известна програмна логика за промяна на елементите, като премахване на елементите чрез преминаване през целия масив с помощта на 3 бримки и извършване на модификацията или в конкретния индекс, или в целия масив. За толкова сложна задача тази обработка не се предпочита чрез 3D масиви и се извършва чрез използването на колекцията, ArrayList. В набор ArrayList (int индекс, Е елемент) се използва за модифициране или актуализиране на елемента динамично в масив. Нужни са 2 аргумента, т.е. индексът и елементът с променената и актуализирана стойност.

заключение

Както споменахме по-горе как да работите върху 3D масиви в Java. Работата с многоизмерни масиви в Java е донякъде трудна за новите програмисти, тъй като включва различни цикли, но разбирането им чрез поетапната процедура и като се имат предвид основните правила, докато работите с масиви, може да улесни работата по нея.

Препоръчителни статии

Това е ръководство за 3D масиви в Java. Тук обсъждаме как да създадете масиви, как да вмъкнете стойност, как да получите достъп, премахнете и актуализирате. Можете също да разгледате и другите ни свързани статии, за да научите повече-

  1. 3D масиви в С
  2. 3d масиви в Python
  3. Масиви в R
  4. Предимства на масива
  5. Многоизмерен масив в Python
  6. Масиви в PHP
  7. Как работят масиви и списъци в Python?
  8. Многомерни масиви в C ++ с примери