Определение размера ArrayList в Java: метод size()
Быстрый и практичный ответ
Для определения количества элементов в ArrayList
, необходимо использовать метод .size()
:
ArrayList<String> list = new ArrayList<>(Arrays.asList("Яблоко", "Банан"));
System.out.println("Размер: " + list.size()); // Вывод: 2, так как в списке два элемента.
Метод .size()
возвращает количество элементов в ArrayList
, аналогично свойству длина стандартных массивов.
Работа с динамическим размером ArrayList
ArrayList
способен динамически менять свой размер, что не свойственно обычным массивам.
Добавление элементов в список
При добавлении нового элемента с помощью list.add(element)
размер ArrayList
увеличивается:
list.add("Вишня");
System.out.println("Текущий размер: " + list.size()); // Вывод: "Текущий размер: 3". Вишня добавлена.
Удаление элементов из списка
При удалении элемента с помощью list.remove(element)
или list.remove(index)
размер списка уменьшается:
list.remove("Банан");
System.out.println("Размер после удаления элемента 'Банан': " + list.size()); // Вывод: 2. Удалён элемент "Банан".
Визуализация
Попробуем визуализировать далину ArrayList
как подсчёт пассажиров в составе поезда:
ArrayList<Passenger> train = new ArrayList<>();
Здесь каждый вагон (🚃) соответствует одному элементу:
Поезд: 🚃🚃🚃🚃🚃
Определение длины списка аналогично вызову метода size()
:
int passengers = train.size();
Длина поезда: 5 вагонов 🚃🚃🚃🚃🚃
Количество пассажиров: 5
Таким образом, количество вагонов (элементов в ArrayList) совпадает с количеством пассажиров (размером ArrayList).
Избежание распространенных ошибок
Путаница между size и length
Характерная ошибка Java-разработчиков — использование .length
вместо .size()
при работе с ArrayList
:
// Неправильно!
int size = myList.length; // Приведёт к ошибке компиляции.
// Правильно!
int size = myList.size(); // Верно!
Берегитесь параллельных изменений
ConcurrentModificationException может возникнуть при попытке изменить ArrayList
во время его итерации:
for (String fruit : list) {
if (fruit.equals("Вишня")) {
list.remove(fruit); // Не верно, возможно возникновение ConcurrentModificationException.
}
}
Для безопасного изменения списка используйте стандартный for-цикл или метод .remove()
у объекта Iterator
:
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("Вишня")) {
list.remove(i);
i--; // Скорректируйте индекс после удаления.
}
}
Полезные материалы
- ArrayList (Java Platform SE 8) — официальная Java-документация метода ArrayList.size().
- Метод size() класса ArrayList в Java с примерами – GeeksforGeeks — наглядные примеры использования метода size() с ArrayList.
- Учебный курс: Collections (The Java™ Tutorials) — подробное руководство по коллекциям Java от Oracle.
- Использование списков и карт (Collections) в Java – Учебник — руководство по работе со списками и картами в Java Collections.
- Учебник | DigitalOcean — пошаговое руководство по использованию ArrayList в Java.
Завершение
Упорная практика ведет к совершенству, так же как постоянные попытки чётко произнести 'supercalifragilisticexpialidocious'. Если статья была полезной – поставьте ей лайк. Не стоит останавливаться на достигнутом в программировании! Желаю успехов в обучении!