Массивы в Java

В Java, чтобы объявить массив, надо в определении переменной написать квадратные скобки. Их можно разместить как перед именем переменной, так и после него. Однако первый способ предпочтительней, так как является java-стилем, второй способ – си-стиль. С правой части от знака присваивания создается объект соответствующего типа, при этом вместо круглых скобок пишутся квадратные, в которых указывается количество элементов массива. Примеры объявления переменных и создания массива вещественных чисел и строк:

double[] a = new double[10];
String[] b = new String[5];

Обращение к элементам массива происходит по их индексам, заключенным в квадратные скобки.

public class ArrayClass {
    public static void main(String[] args) {
        int[] a = new int[3];
        a[0] = 15;
        a[1] = 12;
        a[2] = -3;
 
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);
        }
 
        for (int i : a) {
            System.out.println(i);
        }
 
        int[][] b = new int[2][2];
        b[0][0] = -1;
        b[0][1] = 1;
        b[1][0] = 1;
        b[1][1] = -1;
 
        for (int[] ints : b) {
            for (int i : ints) {
                System.out.println(i);
            }
        }
 
    }
}

Если требуется сразу присвоить элементам массива значения, то значения перечисляются в фигурных скобках непосредственно после знака присваивания:

String[] s = {"ab", "cd", "ef"};

В Java размер обычного массива изменять нельзя.

Существует статический класс Arrays, методы которого позволяют выполнять многие рядовые операции с массивами – сортировку, копирование, вывод на экран, сравнение и др.

import java.util.Arrays;
import java.util.Random;
public class ArraysTest {
    public static void main(String[] args) {
        Random random = new Random();
        int[] a = new int[10];
        for (int i = 0; i < 10; i++) {
            a[i] = random.nextInt(100);
        }
        System.out.println(Arrays.toString(a));
        Arrays.sort(a);
        System.out.println(Arrays.toString(Arrays.copyOf(a, 5)));
    }
}

Пример выполнения:

[22, 19, 58, 36, 45, 70, 10, 36, 91, 30]

[10, 19, 22, 30, 36]

Метод sort() сортирует переданный в качестве аргумента массив. Метод copyOf() копирует указанное количество элементов массива. При этом создается новый массив.

Можно создавать массивы объектов собственного класса:

public class ArrayOfObjects {
    public static void main(String[] args) {
        Book[] shelf = new Book[3];
        shelf[0] = new Book("Red");
        shelf[1] = new Book("Green");
        shelf[2] = new Book("Blue");
        System.out.println(shelf[1].title);
    }
}
 
class Book {
    String title;
    Book(String title) {
        this.title = title;
    }
}

Создано