Метод subList() класса ArrayList в Java
Метод subList() используется для извлечения и возврата части динамического массива.
Синтаксис метода subList():
arraylist.subList(int fromIndex, int toIndex)
Примечание:arraylist — это объект класса ArrayList.
Детали параметров:
- fromIndex - начальная позиция извлекаемых элементов, включая элемент по этому индексу.
- toIndex - конечная позиция извлекаемых элементов, не включая элемент по этому индексу.
Возвращаемое значение
Возвращает извлечённую часть заданного динамического массива.
Если fromIndex меньше 0 или больше длины массива, выбрасывается исключение IndexOutOfBoundsException.
Если fromIndex больше значения toIndex, выбрасывается исключение IllegalArgumentException.
Примечание: элементы, содержащиеся в этом динамическом массиве, начинаются с позиции fromIndex и идут до позиции индекса элемента toIndex-1, при этом элемент с индексом toIndex не включается.

Пример
Извлечение подсписка из динамического массива:
Пример
class Main {
public static void main(String[] args){
// Создать динамический массив
ArrayList<String> sites = new ArrayList<>();
sites.add("Google");
sites.add("Example");
sites.add("Taobao");
sites.add("Wiki");
System.out.println("Список сайтов: " + sites);
// Позиции элементов с 1 по 3
System.out.println("SubList: " + sites.subList(1, 3));
}
}
Вывод вышеприведённой программы:
网站列表: [Google, Example, Taobao, Wiki] SubList: [Example, Taobao]
В приведённом выше примере мы используем метод subList() для получения элементов с 1 по 3 (3).
Разделение динамического массива на два динамических массива:
Пример
class Main {
public static void main(String[] args) {
// Создать массив
ArrayList<Integer> ages = new ArrayList<>();
// Добавить несколько элементов в массив
ages.add(10);
ages.add(12);
ages.add(15);
ages.add(19);
ages.add(23);
ages.add(34);
System.out.println("Список возрастов: " + ages);
// Младше 18
System.out.println("Младше 18: " + ages.subList(0, 3));
// 18 и старше
System.out.println("18 и старше: " + ages.subList(3, ages.size()));
}
}
Вывод вышеприведённой программы:
年龄列表: [10, 12, 15, 19, 23, 34] 18 岁以下: [10, 12, 15] 18 岁以上: [19, 23, 34]
В приведённом выше примере мы создали массив с именем ages, а метод subList() разбивает массив на два массива: для тех, кто младше 18, и для тех, кому 18 и больше.
Обратите внимание, что мы использовали метод ages.size(), чтобы получить длину массива. Чтобы узнать больше о методе size(), посетите страницу Java ArrayList size().
Другие расширения
Java ArrayList