Создание массива
public class ArrayBasics { public static void main(String[] args) { int[] numbers = new int[5]; int[] primes = {2, 3, 5, 7, 11}; String[] names = new String[]{"Аня", "Борис", "Вера"}; numbers[0] = 10; numbers[4] = 50; System.out.println(numbers.length); System.out.println(primes[2]); System.out.println(names[names.length - 1]); }}Размер массива фиксируется при создании. Индексация с нуля. Значения по умолчанию: 0 для чисел, false для boolean, null для объектов.
Выход за границы вызывает ArrayIndexOutOfBoundsException.
Перебор
public class ArrayIteration { public static void main(String[] args) { int[] data = {4, 8, 15, 16, 23, 42}; for (int i = 0; i < data.length; i++) { System.out.println(i + ": " + data[i]); } int sum = 0; for (int value : data) { sum += value; } System.out.println("Сумма: " + sum); }}Поиск максимума и минимума
public class MinMax { public static void main(String[] args) { int[] data = {7, 3, 9, 1, 8}; int min = data[0]; int max = data[0]; for (int i = 1; i < data.length; i++) { if (data[i] < min) { min = data[i]; } if (data[i] > max) { max = data[i]; } } System.out.println(min + " " + max); }}Класс Arrays
import java.util.Arrays;public class ArraysUtil { public static void main(String[] args) { int[] data = {5, 2, 9, 1, 7}; System.out.println(Arrays.toString(data)); Arrays.sort(data); System.out.println(Arrays.toString(data)); int index = Arrays.binarySearch(data, 7); System.out.println(index); int[] copy = Arrays.copyOf(data, 8); System.out.println(Arrays.toString(copy)); int[] part = Arrays.copyOfRange(data, 1, 4); System.out.println(Arrays.toString(part)); int[] filled = new int[4]; Arrays.fill(filled, 7); System.out.println(Arrays.toString(filled)); System.out.println(Arrays.equals(data, copy)); }}Бинарный поиск работает только по отсортированному массиву.
Присваивание ссылки и копирование
import java.util.Arrays;public class ArrayCopy { public static void main(String[] args) { int[] a = {1, 2, 3}; int[] b = a; int[] c = a.clone(); a[0] = 99; System.out.println(Arrays.toString(b)); System.out.println(Arrays.toString(c)); }}Вывод: [99, 2, 3] и [1, 2, 3]. Присваивание b = a копирует ссылку, а clone() создает новый массив.
Многомерные массивы
import java.util.Arrays;public class Matrix { public static void main(String[] args) { int[][] grid = new int[3][4]; for (int i = 0; i < grid.length; i++) { for (int j = 0; j < grid[i].length; j++) { grid[i][j] = i * j; } } System.out.println(Arrays.deepToString(grid)); int[][] literal = { {1, 2, 3}, {4, 5, 6} }; System.out.println(literal[1][2]); }}Двумерный массив — массив массивов. Строки могут иметь разную длину:
import java.util.Arrays;public class Jagged { public static void main(String[] args) { int[][] triangle = new int[4][]; for (int i = 0; i < triangle.length; i++) { triangle[i] = new int[i + 1]; Arrays.fill(triangle[i], i + 1); } System.out.println(Arrays.deepToString(triangle)); }}Сортировка пузырьком
import java.util.Arrays;public class BubbleSort { public static void main(String[] args) { int[] data = {5, 1, 4, 2, 8}; for (int i = 0; i < data.length - 1; i++) { for (int j = 0; j < data.length - 1 - i; j++) { if (data[j] > data[j + 1]) { int temp = data[j]; data[j] = data[j + 1]; data[j + 1] = temp; } } } System.out.println(Arrays.toString(data)); }}На практике используйте Arrays.sort: он гораздо быстрее.
Сортировка объектов
import java.util.Arrays;import java.util.Comparator;public class SortObjects { public static void main(String[] args) { String[] words = {"банан", "яблоко", "киви", "слива"}; Arrays.sort(words); System.out.println(Arrays.toString(words)); Arrays.sort(words, Comparator.comparing(String::length)); System.out.println(Arrays.toString(words)); }}Переменное число аргументов
public class VarArgs { static int sum(int... numbers) { int total = 0; for (int n : numbers) { total += n; } return total; } public static void main(String[] args) { System.out.println(sum()); System.out.println(sum(1, 2, 3)); System.out.println(sum(new int[]{4, 5})); }}Внутри метода numbers — обычный массив. Вариативный параметр должен быть последним.
