Узнайте, как получить подсписок существующего 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