Массивы в Java: объявление, создание, обработка и класс Arrays
Массив — фиксированная последовательность элементов одного типа. Удобнее, чем множество отдельных переменных: numbers[0], numbers[1] вместо number0, number1.
Объявление переменной массива
dataType[] arrayRefVar; // предпочтительный стиль
dataType arrayRefVar[]; // стиль C/C++, работает, но не рекомендуется
Пример
double[] myList; // preferred
double myList[]; // works
Создание массивов
arrayRefVar = new dataType[arraySize];
Действует: создаёт массив и присваивает ссылку переменной. Можно объединить:
dataType[] arrayRefVar = new dataType[arraySize];
Или с инициализатором:
dataType[] arrayRefVar = {value0, value1, ..., valueK};
Индексы от 0 до length-1.
Пример
double[] myList = new double[10];
Обработка массивов
Часто используют for или for-each (все элементы одного типа, размер известен).
Полный пример
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
for (int i = 0; i < myList.length; i++) System.out.println(myList[i] + " ");
double total = 0;
for (int i = 0; i < myList.length; i++) total += myList[i];
System.out.println("Total: " + total); // 11.7
double max = myList[0];
for (int i = 1; i < myList.length; i++) if (myList[i] > max) max = myList[i];
System.out.println("Max: " + max); // 3.5
}
}
Цикл for-each (enhanced for)
JDK 1.5: последовательный обход без индекса.
for (double element : myList) System.out.println(element);
Передача массивов в методы
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) System.out.print(array[i] + " ");
}
printArray(new int[]{3, 1, 2, 6, 4, 2});
Возврат массива из метода
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--)
result[j] = list[i];
return result;
}
Класс java.util.Arrays
Статические методы для сортировки, поиска, сравнения, заполнения. Перегружены для всех примитивов.
| № | Метод и описание |
|---|---|
| 1 | binarySearch(Object[] a, Object key) — бинарный поиск (массив должен быть отсортирован). |
| 2 | equals(long[] a, long[] a2) — равенство массивов (длина + поэлементно). Для всех примитивов. |
| 3 | fill(int[] a, int val) — заполнение значением. Для всех примитивов. |
| 4 | sort(Object[] a) — сортировка по естественному порядку. Для всех примитивов. |
java
- Массивы в C#: объявление, инициализация и операции
- Освоение операторов Java: типы, синтаксис и практические примеры
- Техники копирования массивов в Java: подробное руководство
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры
- Массивы в C++: объявление, инициализация и работа с указателями
- Динамическое выделение массивов в C++: практическое руководство с примерами кода
- Учебник по массивам в Java: объявление, создание и инициализация с примерами кода
- Создание массива объектов в Java: пошаговое руководство