English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Вход/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Многоуровневые массивы Java

В этом руководстве мы будем изучать использование двумерных и ثلاثимерных массивов в 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?

Вот как мы инициализируем двумерный массив в 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 для вычисления длины каждой строки.

Пример: использование циклов для печати всех элементов 2D массива

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 для доступа к каждому элементу массива.

Как инициализировать трехмерный массив в Java?

 Давайте посмотрим, как использовать 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 массива.

Пример: 3D массив

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