Зубчатый массив в Java

Опубликовано: 15 Февраля, 2022

Предварительное условие: массивы в Java

Jaggedarray - это массив массивов, так что массивы-члены могут быть разных размеров, т. Е. Мы можем создать двумерный массив, но с переменным количеством столбцов в каждой строке. Эти типы массивов также известны как массивы с зазубринами.

Графическое представление массива Jagged в памяти:

Jagged_array

Объявление и инициализация массива Jagged:

Syntax: data_type array_name[][] = new data_type[n][];  //n: no. of rows
             array_name[] = new data_type[n1] //n1= no. of colmuns in row-1
             array_name[] = new data_type[n2] //n2= no. of colmuns in row-2
             array_name[] = new data_type[n3] //n3= no. of colmuns in row-3
                                   .
                                   .
                                   .
             array_name[] = new data_type[nk]  //nk=no. of colmuns in row-n

Альтернативные способы инициализации массива Jagged:

 int arr_name [] [] = новый int [] [] {
                                  новый int [] {10, 20, 30, 40},
                                  новый int [] {50, 60, 70, 80, 90, 100},
                                  новый интервал [] {110, 120}
                                      };
                                      
                              ИЛИ                                     
                                                         
                    int [] [] arr_name = {
                          новый int [] {10, 20, 30, 40},
                          новый int [] {50, 60, 70, 80, 90, 100},
                          новый интервал [] {110, 120}
                              };
                              
                              ИЛИ                                     
                                                         
                    int [] [] arr_name = {
                           {10, 20, 30, 40},
                           {50, 60, 70, 80, 90, 100},
                           {110, 120}
                              };

Following are Java programs to demonstrate the above concept. 

Java

// Program to demonstrate 2-D jagged array in Java
class Main {
    public static void main(String[] args)
    {
        // Declaring 2-D array with 2 rows
        int arr[][] = new int[2][];
 
        // Making the above array Jagged
 
        // First row has 3 columns
        arr[0] = new int[3];
 
        // Second row has 2 columns
        arr[1] = new int[2];
 
        // Initializing array
        int count = 0;
        for (int i = 0; i < arr.length; i++)
            for (int j = 0; j < arr[i].length; j++)
                arr[i][j] = count++;
 
        // Displaying the values of 2D Jagged array
        System.out.println("Contents of 2D Jagged Array");
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++)
                System.out.print(arr[i][j] + " ");
            System.out.println();
        }
    }
}
Output
Contents of 2D Jagged Array
0 1 2 
3 4 

Following is another example where i’th row has i columns, i.e., the first row has 1 element, the second row has two elements and so on.

Java

// Another Java program to demonstrate 2-D jagged
// array such that first row has 1 element, second
// row has two elements and so on.
class Main {
    public static void main(String[] args)
    {
        int r = 5;
 
        // Declaring 2-D array with 5 rows
        int arr[][] = new int[r][];
 
        // Creating a 2D array such that first row
        // has 1 element, second row has two
        // elements and so on.
        for (int i = 0; i < arr.length; i++)
            arr[i] = new int[i + 1];
 
        // Initializing array
        int count = 0;
        for (int i = 0; i < arr.length; i++)
            for (int j = 0; j < arr[i].length; j++)
                arr[i][j] = count++;
 
        // Displaying the values of 2D Jagged array
        System.out.println("Contents of 2D Jagged Array");
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++)
                System.out.print(arr[i][j] + " ");
            System.out.println();
        }
    }
}
Output
Contents of 2D Jagged Array
0 
1 2 
3 4 5 
6 7 8 9 
10 11 12 13 14 

Эта статья предоставлена Рахулом Агравалом . Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью и отправить ее по электронной почте на deposit@geeksforgeeks.org. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по теме, обсужденной выше

Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .