Вступ до 3D-масивів на Java
Перш ніж зрозуміти тривимірні масиви на 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: ім'я масиву
- 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 масиви чисел і цей 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 позначає загальну кількість стовпців у тривимірному масиві під назвою 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) = 10 | student_arr (0) (0) (1) = 20 | student_arr (0) (0) (2) = 30 |
student_arr (0) (1) (0) = 20 | student_arr (0) (1) (1) = 30 | student_arr (0) (1) (2) = 40 |
student_arr (1) (0) (0) = 40 | student_arr (1) (0) (1) = 50 | student_arr (1) (0) (2) = 60 |
student_arr (1) (1) (0) = 10 | student_arr (1) (1) (1) = 70 | student_arr (1) (1) (2) = 80 |
Як видалити елементи 3D-масивів у Java?
- Видалити елементи в 3D-масивах на Java просто і схоже на ініціалізацію їх. Клас масиву не забезпечує жодного прямого методу додавання або видалення елемента з масивів. Оскільки розмір масиву не можна динамічно збільшувати або зменшувати, для виконання цього завдання застосовується проста логіка програмування. Просто ми можемо використовувати 3 петлі для обходу всього масиву, вказавши індекс, з якого ми хочемо видалити елемент. Ми можемо створити новий масив або скопіювати оригінальний масив, залишивши елемент, який потрібно видалити.
- Завдяки цьому процесу видалення та оновлення елементів у 3D-масиві використовується рідко. Натомість ArrayList використовується в таких типах випадків, оскільки він забезпечує різні функції для безпосереднього видалення елементів з нього. В ArrayList метод "delete ()" використовується для видалення елементів із заданого індексу в ArrayList. Якщо у масиві є значення, що повторюються, і ми хочемо видалити перше виникнення в масиві, який ми можемо використовувати, метод ArrayUtils.removeElement (масив, елемент) для того ж, який бере 2 аргументи, тобто весь масив і елемент, який потрібно бути знятим з нього.
Як оновити елементи
Не існує такого способу оновлення елементів у тривимірному масиві. Деяка логіка програмування застосовується для зміни елементів, таких як видалення елементів шляхом проходження всього масиву з використанням 3-х циклів та виконання модифікації або в конкретному індексі, або в цілому масиві. Для такої складної задачі ця обробка не надається переваги через 3D-масиви, а виконується за допомогою використання колекції ArrayList. У наборі ArrayList (int index, E елемент) використовується для зміни або оновлення елемента в динамічному масиві. Він бере 2 аргументи, тобто індекс та елемент із зміненим та оновленим значенням.
Висновок
Як ми вже згадували вище, як працювати над 3D-масивами на Java. Робота з багатовимірними масивами на Java для нових програмістів дещо складна, оскільки вона передбачає різні цикли, але розуміння її через покрокову процедуру та врахування основних правил під час роботи з масивами може значно полегшити роботу над нею.
Рекомендовані статті
Це посібник з 3D-масивів на Java. Тут ми обговорюємо, як створити масиви, як вставити значення, як отримати доступ, видалити та оновити. Ви також можете ознайомитись з іншими пов'язаними з нами статтями, щоб дізнатися більше -
- 3D-масиви на C
- 3D масиви в Python
- Масиви в R
- Переваги масиву
- Багатовимірний масив в Python
- Масиви в PHP
- Як працюють масиви та списки в Python?
- Багатовимірні масиви в C ++ з прикладами