ArrayList: удаление и поиск

Тренажер по Java для пользователей с начальным уровнем подготовки.

Тренажер по Java

Работа с динамическим массивом ArrayList требует умения находить и удалять элементы. Это частые операции при манипуляции данными.

Для поиска используются методы:

  • contains(Object o) — возвращает true, если элемент есть в списке.
  • indexOf(Object o) — возвращает индекс первого вхождения элемента или -1, если он не найден.

Для удаления используются методы:

  • remove(int index) — удаляет элемент по индексу.
  • remove(Object o) — удаляет первое вхождение конкретного объекта.
  • clear() — очищает весь список.

Будьте внимательны: при работе со списком целых чисел (List) методы remove могут вести себя неочевидно из-за перегрузки.

Список тем

1. Выбор метода удаления

id: 40509_arr_01_select_method

В данном фрагменте кода необходимо удалить из списка ArrayList элемент по значению и элемент по индексу. Выберите из выпадающего списка правильные аргументы для методов remove, чтобы код выполнялся без ошибок и выводил ожидаемый результат. Обратите внимание на различие между удалением по индексу (примитивный int) и удалением по значению (объект Integer).

Нужно правильно расставить в пропуски предложенные варианты
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(10);
        numbers.add(20);
        numbers.add(30);
        numbers.add(40);
        
        // Удалить элемент со значением 20
        numbers.remove(input1S);
        
        // Удалить элемент с индексом 0 (первый элемент)
        numbers.remove(input2S);
        
        System.out.println(numbers);
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

2. Что останется?

id: 40509_arr_02_predict_removal

Проанализируйте приведённый фрагмент кода на Java. Изначально создаётся ArrayList строк, содержащий элементы ["A", "B", "A", "C"]. Затем из списка вызывается метод remove("A"). Вам необходимо предсказать, как будет выглядеть содержимое списка после выполнения этой операции. Учтите, что метод remove(Object o) удаляет только первое вхождение указанного элемента.

Выберите правильный вариант ответа
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("A");
        list.add("C");
        list.remove("A");
        System.out.println(list);
    }
}
Сообщения
Проверить
Показать подсказку

4. Найти и удалить

id: 40509_arr_04_build_logic

Из предложенных строк соберите корректную java-программу, которая создаёт ArrayList, добавляет три элемента, находит индекс элемента "B" через indexOf(), проверяет что индекс не равен -1, и удаляет элемент по найденному индексу. При успешном удалении выводится сообщение с индексом удалённого элемента. Некоторые строки являются лишними и не должны входить в решение.

Перетяните в правильном порядке строки из одного блока в другой
import java.util.ArrayList;
public class Main {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");
        int index = list.indexOf("B");
        if (index != -1) {
            list.remove(index);
            System.out.println("Удален элемент по индексу: " + index);
        }
    }
}
        list.remove("B");
        System.out.println("Элемент найден: " + index);
        if (index == -1) {
        list.clear();
        list.add("D");
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

5. Поиск или Изменение

id: 40509_arr_05_sort_actions

Перед вами список методов класса ArrayList в Java. Разнесите их по двум категориям в соответствии с их действием: методы, которые изменяют содержимое или структуру списка, и методы, которые только читают данные или выполняют поиск, не изменяя список. Обратите внимание, что некоторые методы могут возвращать значение, но при этом модифицировать список, а другие — только предоставляют информацию о его состоянии.

Перетяните элементы в соответствующие блоки
Изменяют список
Только читают/ищут
add(element)
remove(element)
contains(element)
indexOf(element)
clear()
isEmpty()
Сообщения
Проверить
Показать подсказку

6. Неверный метод

id: 40509_arr_06_error_bounds

В данном фрагменте кода, который работает с коллекцией ArrayList, допущена одна синтаксическая ошибка, из-за которой программа не скомпилируется. Код пытается получить размер списка, но использует для этого неверный метод. Вам нужно найти строку с ошибкой и исправить её, чтобы код корректно вывел количество элементов в списке. Обратите внимание на различия между методами для массивов и для коллекций.

Найдите ошибку и исправьте
import java.util.ArrayList;
 
public class Main {
    public static void main(String[] args) {
        ArrayList<String> languages = new ArrayList<>();
        languages.add("Java");
        languages.add("Python");
        System.out.println("Количество элементов: " + languages.length());
    }
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру