Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

List.subList()

Возвращает часть списка между двумя индексами.

Доступно с: Java 1.2

Синтаксис

List<E> subList(int fromIndex, int toIndex)

Параметры

ПараметрТипОписание
fromIndexintНачало отрезка (включительно).
toIndexintКонец отрезка (не включая).

Возвращаемое значение

List<E>Представление части списка — не копия.

Примеры

Первые три элемента и остаток:

void main() {
    List<Integer> nums = List.of(10, 20, 30, 40, 50);
    IO.println(nums.subList(0, 3));
    IO.println(nums.subList(3, nums.size()));
}

Результат:

[10, 20, 30]
[40, 50]

Изменения в части видны в исходном списке:

void main() {
    List<Integer> nums = new ArrayList<>(List.of(1, 2, 3, 4, 5));
    nums.subList(1, 3).clear();
    IO.println(nums);
}

Результат:

[1, 4, 5]

Примечания

Результат — «окно» в исходный список: изменение одного видно в другом. Если после этого изменить размер исходного списка напрямую, работа с окном бросит ConcurrentModificationException. Нужна независимая копия — new ArrayList<>(list.subList(a, b)).

См. также

  • List.get() — Возвращает элемент списка по индексу.
  • Stream.limit() — Обрезает поток до первых N элементов.
  • Stream.skip() — Пропускает первые N элементов потока.

Вопросы и ответы по теме

В учебнике

  • Списки: List и ArrayList — Списки в Java: ArrayList, добавление, чтение и удаление элементов, неизменяемые списки List.of и списки чисел.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.