El método subList() de AbstractSequentialList en Java se utiliza para obtener una vista de la parte de esta lista entre el fromIndex especificado, inclusive, y toIndex, exclusivo. (Si fromIndex y toIndex son iguales, la lista devuelta está vacía). La lista devuelta está respaldada por esta lista, por lo que los cambios no estructurales en la lista devuelta se reflejan en esta lista y viceversa. La lista devuelta admite todas las operaciones de lista opcionales admitidas por esta lista.
Sintaxis:
protected List<E> subList(int fromIndex, int toIndex)
Parámetros: Este método toma dos parámetros:
- fromIndex: índice inicial desde el cual se van a buscar los elementos.
- toIndex: índice final desde el cual se van a buscar los elementos. (exclusivo)
Valor devuelto: este método devuelve una vista del rango especificado dentro de esta lista
. Excepción: este método arroja:
- IndexOutOfBoundsException : si un valor de índice de punto final está fuera de rango.
- IllegalArgumentException : si los índices de punto final están fuera de servicio.
Los siguientes ejemplos ilustran el método AbstractSequentialList.subList():
Ejemplo 1 :
// Java program to demonstrate the // working of subList() method import java.util.*; public class GFG { public static void main(String[] args) { // creating an AbstractSequentialList AbstractSequentialList<Integer> arr = new LinkedList<Integer>(); // use add() method // to add values in the list arr.add(1); arr.add(2); arr.add(3); arr.add(12); arr.add(9); arr.add(13); // prints the list before removing System.out.println("AbstractSequentialList: " + arr); // Getting subList of 1st 2 elements // using subList() method System.out.println("subList of 1st 2 elements: " + arr.subList(0, 2)); } }
AbstractSequentialList: [1, 2, 3, 12, 9, 13] subList of 1st 2 elements: [1, 2]
Ejemplo 2:
// Java program to demonstrate the // working of subList() method import java.util.*; public class GFG { public static void main(String[] args) { // creating an AbstractSequentialList AbstractSequentialList<Integer> arr = new LinkedList<Integer>(); // use add() method // to add values in the list arr.add(1); arr.add(2); arr.add(3); arr.add(12); arr.add(9); arr.add(13); // prints the list before removing System.out.println("AbstractSequentialList: " + arr); System.out.println("Trying to get " + "subList of 11th elements: "); try { // Getting subList of 10th // using subList() method arr.subList(10, 11); } catch (Exception e) { System.out.println(e); } } }
AbstractSequentialList: [1, 2, 3, 12, 9, 13] Trying to get subList of 11th elements: java.lang.IndexOutOfBoundsException: toIndex = 11