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

лучших Java IDE в 2021 году Программирование и разработка

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

Объявление массива в Java

Массив объявляется с использованием его типа данных и идентификатора. В Java массивы объявляются так же, как и другие переменные, но при объявлении массива добавляется дополнительная квадратная скобка [].

Синтаксис:

int arr [];
int [] arr;

Здесь размер массива не упоминается, поскольку в памяти создается ссылка на массив. Он также может быть известен как адрес памяти массива.

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

После объявления массива мы должны инициализировать его значениями, как мы должны сделать это с другими переменными. В массиве мы должны присвоить несколько значений, поэтому процесс инициализации не так прост, как переменные. Мы можем инициализировать массив со значениями по умолчанию или не по умолчанию. Ниже приведены различные методы инициализации массива:

  • Инициализировать массив со значениями по умолчанию
  • Инициализировать массив со значениями, отличными от значений по умолчанию
  • Инициализировать массив с помощью фигурных скобок {}
  • Инициализация с использованием потокового интерфейса

Инициализировать массив со значениями по умолчанию

В Java массив может быть инициализирован значениями по умолчанию, если размер массива объявлен с помощью прямоугольных скобок [ ].

int [] arr = new int[20];

В приведенном выше коде объявлен массив размером 20, где тип данных — целочисленный. Разные типы данных имеют разные значения по умолчанию, которые инициализируются во время объявления. Для массива целочисленного типа значение по умолчанию равно 0, false — значение по умолчанию для массива логического типа, а пустая строка — значение по умолчанию для массива строкового типа.

Читайте также:  Java или JavaScript: тщательное сравнение

Инициализировать массив со значениями, отличными от значений по умолчанию

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

В следующем примере объявляется массив целочисленного типа размером 6, а затем в нем инициализируются 6 значений не по умолчанию.

int[] arr = new int[6];
arr[0] = 8;
arr[1] = 6;
arr[2] = 4;
arr[3] = 2;
arr[4] = 1;
arr[5] = 9;

Инициализировать массив с помощью фигурных скобок {}

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

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

String[] arrStr = {"Geeks", "of", "Geeks"};

Инициализация с использованием потокового интерфейса

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

  • IntStream.range()
  • IntStream.rangeClosed()
  • IntStream.of()

1. IntStream.range()

Он используется для инициализации массива целых чисел в заданном диапазоне. Первый параметр в диапазоне будет первым элементом массива, а остальные элементы массива будут больше этого элемента, но меньше второго параметра диапазона.

2. IntStream.rangeClosed()

Мы также можем использовать rangeClosed() вместо range(), если мы хотим добавить последний элемент диапазона в массив. Первый параметр в методе rangeClosed() будет первым элементом массива, а остальные элементы в массиве будут больше этого элемента, но меньше второго параметра метода rangeClosed() и равны ему.

3. IntStream.of()

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

Пример:

Java

// Java program to demonstrate different ways of
// initializing an integer array.
import java.util.stream.IntStream;
 
// Driver Clas
public class Main {
    // Main function
    public static void main(String[] args)
    {
 
        // an array of integers using IntStream.range()
        // method
        int[] arr1 = IntStream.range(1, 5).toArray();
        for (int i = 0; i < arr1.length; i++) {
            System.out.print(arr1[i] + " ");
        }
 
        System.out.print('\n');
 
        // an array of integers using
        // IntStream.rangeClosed() method
        int[] arr2 = IntStream.rangeClosed(1, 4).toArray();
 
        for (int i = 0; i < arr2.length; i++) {
            System.out.print(arr2[i] + " ");
        }
 
        System.out.print('\n');
 
        //  an array of integers using IntStream.of()
        // method
        int[] arr3 = IntStream.of(1, 2, 3, 4).toArray();
        for (int i = 0; i < arr3.length; i++) {
            System.out.print(arr3[i] + " ");
        }
    }
}

Выход

1 2 3 4 
1 2 3 4 
1 2 3 4

Оцените статью
bestprogrammer.ru
Добавить комментарий