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

Прежде чем разбираться с трехмерными массивами в Java, мы должны знать, что такое массив и почему он используется в языках программирования? Массивы - это, по сути, группа значений одинакового типа, которые называются одинаковыми. Под похожим типом мы подразумеваем значения одного и того же типа данных. Рассмотрим ситуацию, в которой мы хотим сохранить имена всех учеников класса. Поскольку имя студента имеет тип данных String, но было бы неправильно хранить имя каждого студента в другой переменной, поскольку это не только занимало бы много места, но и создавало путаницу в программе, увеличивая почти столько же строки кода. Таким образом, для обработки подобных ситуаций используются массивы. Программист может создать массив Student_names и указать его размер во время создания объекта массива. Таким образом, не будет необходимости указывать имя переменной для каждого студента, и всякий раз, когда мы хотим обновить, вставить и получить значения, могут использоваться индексы этого массива.

В Java переменная массива объявляется аналогично другим переменным со знаком () после типа данных. Размер массива должен быть определен во время создания массива, и он остается постоянным. Доступ к элементам массива осуществляется с помощью числовых индексов, причем первый элемент хранится с 0 индексами. В Java существует два типа массивов: одномерные и многомерные. 3D-массивы подпадают под категорию многомерных массивов. Многомерные массивы в простых словах можно определить как массив массивов, а трехмерные массивы - это массив двумерных массивов. 3D является сложной формой многомерных массивов. Рассмотрим сценарий Квартиры в здании. Предположим, что в квартире 10 этажей, на каждом этаже 5 квартир, а в каждой квартире 3 комнаты. Для обработки этих данных в программировании используются трехмерные массивы.

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

Java использует очень простой способ определения массивов. Квадратные скобки ('()') используются для определения объекта массива после типа данных массива. Нужно определить размер во время объявления массива. 3D-массивы определяются тремя скобками. Ниже приведен синтаксис определения трехмерных массивов в Java:

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

  • Здесь data_type: тип данных элементов, которые будут храниться в массиве. имя_массива: имя массива
  • new: ключевое слово для создания объекта в 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?

Как упомянуто выше, инициализация всего массива сразу является наилучшей практикой при работе с трехмерными массивами, так как это снижает вероятность путаницы в будущем программировании. Хотя мы также можем присваивать одно значение за раз в массиве, что можно сделать способом, указанным ниже:

Синтаксис:

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

Вышеупомянутый подход является утомительным и не считается хорошим подходом, поскольку он занимает много места и увеличивает количество строк кода. Существует также один подход с использованием циклов, который считается хорошей практикой при работе с трехмерными массивами.

Синтаксис:

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 обозначает общее количество столбцов в трехмерном массиве с именем 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?

  • Удаление элементов в трехмерных массивах в Java просто и похоже на инициализацию их. Класс Array не предоставляет прямого метода для добавления или удаления элемента из массивов. Поскольку размер массива нельзя динамически увеличивать или уменьшать, для выполнения этой задачи применяется простая логика программирования. Просто мы можем использовать 3 цикла для обхода всего массива, указав индекс, по которому мы хотим удалить элемент. Мы можем создать новый массив или скопировать исходный массив, оставляя элемент, который необходимо удалить.
  • Благодаря этому процессу удаления и обновления элементов в 3D-массив используется редко. Вместо этого ArrayList используется в этих случаях, поскольку он предоставляет различные функции для непосредственного удаления элементов из него. В ArrayList метод remove () используется для удаления элементов по указанному индексу в ArrayList. Если у нас есть повторяющиеся значения в массиве, и мы хотим удалить первое вхождение в массиве, который мы можем использовать, метод ArrayUtils.removeElement (array, element) для него, который принимает 2 аргумента, то есть весь массив и элемент, который должен быть удаленным от этого.

Как обновить элементы

Таким образом, нет способа обновить элементы в трехмерном массиве. Некоторая логика программирования применяется для изменения элементов, таких как удаление элементов путем обхода всего массива с использованием 3 циклов и выполнения модификации либо по конкретному индексу, либо по всему массиву. Для такой сложной задачи эта обработка не является предпочтительной с помощью трехмерных массивов и выполняется с использованием коллекции ArrayList. В ArrayList набор (int index, E element) используется для динамического изменения или обновления элемента в массиве. Он принимает 2 аргумента, то есть индекс и элемент с измененным и обновленным значением.

Вывод

Как уже упоминалось выше, как работать с трехмерными массивами в Java. Работа с многомерными массивами в Java для начинающих программистов несколько затруднительна, так как она включает в себя различные циклы, но понимание этого с помощью пошаговой процедуры и соблюдение основных правил при работе с массивами может значительно облегчить работу с ним.

Рекомендуемые статьи

Это руководство по 3D-массивам в Java. Здесь мы обсуждаем, как создавать массивы, как вставить значение, как получить доступ, удалить и обновить. Вы также можете просмотреть другие наши статьи, чтобы узнать больше-

  1. 3D массивы в C
  2. 3D-массивы в Python
  3. Массивы в R
  4. Преимущества массива
  5. Многомерный массив в Python
  6. Массивы в PHP
  7. Как работают массивы и списки в Python?
  8. Многомерные массивы в C ++ с примерами