Комментарии (1)
🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
# Определение длины массива в Java
Основной способ: свойство length
В Java любой массив имеет встроенное свойство length, которое содержит количество элементов в массиве. Это свойство является публичным полем, доступным для чтения.
// Объявление и инициализация массива
int[] numbers = {10, 20, 30, 40, 50};
// Получение длины массива
int length = numbers.length;
System.out.println("Length: " + length); // Output: Length: 5
Примеры для различных типов массивов
Массив примитивных типов
int[] intArray = new int[10];
System.out.println(intArray.length); // 10
double[] doubleArray = {1.5, 2.5, 3.5};
System.out.println(doubleArray.length); // 3
boolean[] booleanArray = new boolean[5];
System.out.println(booleanArray.length); // 5
Массив объектов
String[] strings = {"Apple", "Banana", "Orange"};
System.out.println(strings.length); // 3
Integer[] integers = new Integer[7];
System.out.println(integers.length); // 7 (не зависит от заполненности)
Object[] objects = new Object[100];
System.out.println(objects.length); // 100
Многомерные массивы
Для многомерных массивов нужно использовать length для каждого измерения отдельно:
// 2D массив
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// Количество строк
int rows = matrix.length; // 3
// Количество столбцов (в первой строке)
int columns = matrix[0].length; // 3
// Итерация по всему массиву
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
Jagged Arrays (неправильные массивы)
// Jagged array с разным количеством элементов в строках
int[][] jagged = {
{1, 2, 3, 4},
{5, 6},
{7, 8, 9}
};
int rows = jagged.length; // 3
int firstRowLength = jagged[0].length; // 4
int secondRowLength = jagged[1].length; // 2
int thirdRowLength = jagged[2].length; // 3
Практические примеры
Поиск максимального элемента
public class ArrayUtils {
public static int findMax(int[] array) {
if (array.length == 0) {
throw new IllegalArgumentException("Array cannot be empty");
}
int max = array[0];
for (int i = 1; i < array.length; i++) {
if (array[i] > max) {
max = array[i];
}
}
return max;
}
}
// Использование
int[] numbers = {5, 2, 8, 1, 9, 3};
int maximum = ArrayUtils.findMax(numbers);
System.out.println("Maximum: " + maximum); // Maximum: 9
Копирование массива
public class ArrayCopy {
public static void main(String[] args) {
int[] original = {1, 2, 3, 4, 5};
// Способ 1: используя length
int[] copy1 = new int[original.length];
for (int i = 0; i < original.length; i++) {
copy1[i] = original[i];
}
// Способ 2: Arrays.copyOf()
int[] copy2 = Arrays.copyOf(original, original.length);
// Способ 3: System.arraycopy()
int[] copy3 = new int[original.length];
System.arraycopy(original, 0, copy3, 0, original.length);
}
}
Обращение (реверс) массива
public class ArrayReverse {
public static void reverse(int[] array) {
int length = array.length;
for (int i = 0; i < length / 2; i++) {
// Используем length для определения конца
int temp = array[i];
array[i] = array[length - 1 - i];
array[length - 1 - i] = temp;
}
}
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
reverse(numbers);
System.out.println(Arrays.toString(numbers)); // [5, 4, 3, 2, 1]
}
}
Проверка четности длины
public class ArrayValidator {
public static boolean isEvenLength(int[] array) {
return array.length % 2 == 0;
}
public static void main(String[] args) {
int[] even = {1, 2, 3, 4}; // length = 4
int[] odd = {1, 2, 3}; // length = 3
System.out.println(isEvenLength(even)); // true
System.out.println(isEvenLength(odd)); // false
}
}
Важные свойства length
- Это поле, а не метод: используется
array.length, а неarray.length() - Неизменяемое: длина массива не может быть изменена после создания
- Всегда работает: даже если массив содержит null элементы
- Не null: length никогда не бывает null
- Для null массива: если массив == null, то обращение к length вызовет NullPointerException
int[] array = null;
int length = array.length; // NullPointerException!
int[] emptyArray = new int[0];
int zeroLength = emptyArray.length; // 0, работает корректно
Collections vs Arrays
Для динамических коллекций используется метод size():
// Array
int[] arr = {1, 2, 3};
int length = arr.length; // свойство
// List
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3));
int size = list.size(); // метод
// Set
Set<Integer> set = new HashSet<>();
int setSize = set.size(); // метод
Заключение
Для определения длины массива в Java используется свойство length, которое содержит количество элементов. Это встроенное поле массива, доступное для все типов массивов, включая примитивные типы и объекты, одномерные и многомерные массивы. Использование length — это стандартный способ работы с размерами массивов.