Метод subList
Метод subList возвращает представление части
списка в виде нового объекта List. В первом
параметре мы передаем начальный индекс, во втором -
конечный индекс (не включая его). Возвращаемый
список является представлением исходного списка,
поэтому изменения в нем отражаются на оригинале.
Синтаксис
ArrayList<E> list = new ArrayList<>();
list.subList(fromIndex, toIndex)
Пример
Давайте получим часть списка с 1 по 4
(конечный индекс не входит в результат):
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList<>(List.of(1, 2, 3, 4, 5));
List<Integer> res = list.subList(1, 4);
System.out.println(res);
}
}
Результат выполнения кода:
[2, 3, 4]
Пример
Давайте получим часть списка, начиная со второго элемента и до конца:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>(List.of("a", "b", "c", "d", "e"));
List<String> res = list.subList(1, list.size());
System.out.println(res);
}
}
Результат выполнения кода:
[b, c, d, e]
Пример
Давайте изменим полученный подсписок и посмотрим, как это отразится на исходном списке:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList<>(List.of(1, 2, 3, 4, 5));
List<Integer> res = list.subList(1, 4);
res.set(0, 99);
System.out.println(list);
}
}
Результат выполнения кода:
[1, 99, 3, 4, 5]