El método subList() de la clase Java.util.Stack se utiliza para devolver una vista de la parte de esta pila entre el fromIndex especificado, inclusive, y toIndex, exclusivo. (Si fromIndex y toIndex son iguales, la pila devuelta está vacía).
La pila devuelta está respaldada por esta pila, por lo que los cambios no estructurales en la pila devuelta se reflejan en esta pila y viceversa. La pila devuelta admite todas las operaciones de pila opcionales.
Sintaxis:
public Stack subList(int fromIndex, int toIndex)
Parámetros: este método toma el siguiente argumento como parámetro.
- fromIndex: punto final inferior (incluido) de la subLista
- toIndex – punto final alto (exclusivo) de la subLista
Valor devuelto: este método devuelve una vista del rango especificado dentro de esta pila.
Excepción: este método arroja la siguiente excepción.
- IndexOutOfBoundsException: si un valor de índice de punto final está fuera de rango (tamaño fromIndex)
- IllegalArgumentException: si los índices de punto final están fuera de servicio (fromIndex > toIndex)
A continuación se muestran los ejemplos para ilustrar el método subList() .
Ejemplo 1:
// Java program to demonstrate // subList() method // for String value import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of Stack<Integer> Stack<String> stack = new Stack<String>(); // Populating stack1 stack.add("A"); stack.add("B"); stack.add("C"); stack.add("D"); stack.add("E"); // print stack System.out.println("Original stack: " + stack); // getting the subList // using subList() method List<String> stack2 = stack.subList(2, 4); // print the subList System.out.println("SubStack of stack: " + stack2); } catch (Exception e) { System.out.println(e); } } }
Original stack: [A, B, C, D, E] SubStack of stack: [C, D]
Ejemplo 2: para IndexOutOfBoundsException
// Java program to demonstrate // subList() method // for IndexOutOfBoundsException import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of Stack<Integer> Stack<String> stack = new Stack<String>(); // Populating stack1 stack.add("A"); stack.add("B"); stack.add("C"); stack.add("D"); stack.add("E"); // print stack System.out.println("Original stack: " + stack); // getting the subList // using subList() method System.out.println("\nEnd index value is out of range"); List<String> stack2 = stack.subList(2, 7); // print the subList System.out.println("SubStack of stack: " + stack2); } catch (Exception e) { System.out.println(e); } } }
Original stack: [A, B, C, D, E] End index value is out of range java.lang.IndexOutOfBoundsException: toIndex = 7
Ejemplo 3: Para IllegalArgumentException
// Java program to demonstrate // subList() method // for IllegalArgumentException import java.util.*; public class GFG1 { public static void main(String[] argv) throws Exception { try { // Creating object of Stack<Integer> Stack<String> stack = new Stack<String>(); // Populating stack1 stack.add("A"); stack.add("B"); stack.add("C"); stack.add("D"); stack.add("E"); // print stack System.out.println("Original stack: " + stack); // getting the subList // using subList() method System.out.println("\nEndpoint indices " + "are out of order" + " (fromIndex > toIndex)"); List<String> stack2 = stack.subList(7, 2); // print the subList System.out.println("SubStack of stack: " + stack2); } catch (Exception e) { System.out.println(e); } } }
Original stack: [A, B, C, D, E] Endpoint indices are out of order (fromIndex > toIndex) java.lang.IllegalArgumentException: fromIndex(7) > toIndex(2)