Выбор ответа Middle Коллекции изнутри обновлено

remove на List<Integer>

Вопрос

Что останется в списке после кода?

List<Integer> list = new ArrayList<>(List.of(10, 20, 30));
list.remove(1);
System.out.println(list);

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: [10, 30]. У List есть remove(int index) и remove(Object o).

Варианты ответа

  1. [10, 20, 30]
  2. [10, 30]правильный ответ
  3. [20, 30]
  4. IndexOutOfBoundsException

Разбор

У List есть remove(int index) и remove(Object o). Аргумент 1 типа int точно подходит к первому без упаковки, поэтому удаляется элемент с индексом 1, это 20. Чтобы удалить значение, пишут list.remove(Integer.valueOf(1)), тут такого значения нет, и список не изменился бы.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме