Java ArrayList subList()

Узнайте, как получить подсписок существующего ArrayList. Мы будем использовать метод ArrayList.subList() для получения подсписка объекта arraylist.

1. API ArrayList.subList()

Метод subList() возвращает представление части этого списка между указанным fromIndex(включительно) и toIndex(исключая).

 открытый список<E> subList(int fromIndex, int toIndex)

Аргументы метода:

  • fromIndex – начальный индекс в существующем arraylist. Является включающим.
  • toIndex – последний индекс в существующем arraylist. Он является исключительным.

Обратите внимание, что любые изменения, внесенные в объекты в подсписке, также будут отражены в исходном массиве.

2. Подсписок между указанными индексами

Следующая программа Java получает подсписок arraylist из существующего подсписка. Мы получаем подсписок с индекса 2 по 6.

Обратите внимание, что индекс ArrayList начинается с 0.

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9));ArrayList<Integer> sublist = list.subList(2, 6);System.out.println(sublist);

Вывод программы.

[2, 3, 4, 5]

3. Подсписок от указанного индекса до конца списка

Если мы хотим получить подсписок от указанного индекса до конца списка, то передаем длину arraylist во втором аргументе метода.

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9));System.out.println(list.subList(2, list.size()));

Вывод программы.

[2, 3, 4, 5, 6, 7, 8, 9]

3. Удалить подсписок из исходного списка

Если у нас есть представление подсписка arraylist, мы можем использовать этот подсписок для удаления нескольких элементов из arraylist, поскольку изменения отражаются в обоих списках.

ArrayList<Integer> list = new ArrayList<>(Arrays.asList(0,1,2,3,4,5,6,7,8,9));list.subList(2, 6).clear();System.out.println(list);

Вывод программы.

[0, 1, 6, 7, 8, 9]

Подробнее: Документация по ArrayList Java

Исходный код на Github

Прокрутить вверх