English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы будем изучать использование двумерных и ثلاثимерных массивов в Java с помощью примеров.
Прежде чем изучать многомерные массивы, убедитесь, что вы понимаетеJava массивы.
Многомерные массивы являются массивами массивов. Каждый элемент многомерного массива сам является массивом. Например:
int[][] a = new int[3][4];
Здесь мы создали многомерный массив под названием a. Это двумерный массив, который может вмещать до 12 элементов:
Запомните, Java использует нулевую индексацию, то есть индексы массивов в Java начинаются с 0, а не с 1.
Давайте еще раз приведем пример многомерного массива. В этот раз мы создадим ثلاثимерный массив. Например:
String[][][] data = new String[3][4][2];
Здесь, data - это ثلاثимерный массив, который может вмещать до 24 (3*4*2) элементов типа String.
Вот как мы инициализируем двумерный массив в Java.
int[][] a = { {1, 2, 3}, {4, 5, 6, 9}, {7}, };
Как мы видим, каждый элемент многомерного массива сам является массивом. И, в отличие от C / C++, в Java каждая строка многомерного массива может иметь разную длину.
class MultidimensionalArray { public static void main(String[] args) { // Создание двумерного массива int[][] a = { {1, 2, 3}, {4, 5, 6, 9}, {7}, }; // Вычисление длины каждой строки System.out.println("Длина 1-го ряда: " + a[0].length); System.out.println("Длина 2-го ряда: " + a[1].length); System.out.println("Длина 3-го ряда: " + a[2].length); } }
вывод:
Длина 1-го ряда: 3 Длина 2-го ряда: 4 Длина 3-го ряда: 1
В примере выше мы создали многомерный массив под названием a, так как каждый компонент многомерного массива также является массивом (a[0], [1] и a[2] также являются массивами).
Здесь мы используем атрибут length для вычисления длины каждой строки.
class MultidimensionalArray { public static void main(String[] args) { int[][] a = { {1, -2, 3}, {-4, -5, 6, 9}, {7}, }; for(int i = 0; i < a.length; ++i) { for(int j = 0; j < a[i].length; ++j) { System.out.println(a[i][j]); } } } }
вывод:
1 -2 3 -4 -5 6 9 7
Мы также можем использоватьfor ... each циклЧтобы доступа к элементам многомерного массива. Например,
class MultidimensionalArray { public static void main(String[] args) { // Создание двумерного массива int[][] a = { {1, -2, 3}, {-4, -5, 6, 9}, {7}, }; // Сначала цикл for...each для доступа к отдельному массиву // В двумерном массиве for(int[] innerArray : a) { // Второй цикл for...each для доступа к каждому элементу внутри строки for(int data : innerArray) { System.out.println(data); } } } }
вывод:
1 -2 3 -4 -5 6 9 7
В примере выше мы создали двумерный массив под названием a и использовали цикл for и цикл for...each для доступа к каждому элементу массива.
Давайте посмотрим, как использовать 3D массивы в Java. Мы можем инициализировать 3D массив, подобный 2D массиву. Например,
//test является 3D массивом int[][][] test = { { {1, -2, 3}, {2, 3, 4} } { {-4, -5, 6, 9}, {1}, {2, 3} } };
В основном, 3D массив является массивом 2D массивов. Строки 3D массива также могут меняться в длине, как и строки 2D массива.
class ThreeArray { public static void main(String[] args) { //создание 3D массива int[][][] test = { { {1, -2, 3}, {2, 3, 4} } { {-4, -5, 6, 9}, {1}, {2, 3} } }; //迭代 элементов 3D массива с помощью цикла for..each for(int[][] array2D: test) { for(int[] array1D: array2D) { for(int item: array1D) { System.out.println(item); } } } } }
вывод:
1 -2 3 2 3 4 -4 -5 6 9 1 2 3