El método removeRange() de Stack en Java se usa para eliminar todos los elementos dentro del rango especificado de un objeto Stack. Desplaza cualquier elemento posterior a la izquierda. Esta llamada acorta la pila por elementos (toIndex-fromIndex) donde toIndex es el índice final y fromIndex es el índice inicial dentro del cual se eliminarán todos los elementos. (Si toIndex==fromIndex, esta operación no tiene efecto)
Sintaxis:
removeRange(int fromIndex, int toIndex)
Parámetros: Este método toma dos parámetros:
- fromIndex: índice inicial desde el cual se eliminarán los elementos del índice.
- toIndex: dentro del rango [fromIndex-toIndex), se eliminan todos los elementos.
Valor devuelto: este método no devuelve ningún valor. Solo elimina todos los elementos dentro del rango especificado.
Excepciones: este método lanza una excepción indexOutOfBoundsException si fromIndex o toIndex están fuera de rango (fromIndex = size() o toIndex > size() o toIndex < fromIndex)
Los siguientes ejemplos ilustran el método Stack.removeRange():
Ejemplo 1 : demostración del uso de removeRange() método
Java
// Java program to demonstrate the // working of removeRange() method import java.util.*; // extending the class to stackyastack since removeRange() // is a protected method public class GFG extends Stack<Integer> { public static void main(String[] args) { // create an empty stack GFG stack = new GFG(); // use add() method to add values in the stack stack.add(1); stack.add(2); stack.add(3); stack.add(12); stack.add(9); stack.add(13); // prints the stack before removing System.out.println("The stack before using removeRange:" + stack); // removing range of 1st 2 elements stack.removeRange(0, 2); System.out.println("The stack after using removeRange:" + stack); } }
The stack before using removeRange:[1, 2, 3, 12, 9, 13] The stack after using removeRange:[3, 12, 9, 13]
Ejemplo 2 : programa para demostrar el error
Java
// Java program to demonstrate the error in // working of removeRange() method import java.util.*; // extending the class to stackyastack since removeRange() // is a protected method public class GFG extends Stack<Integer> { public static void main(String[] args) { // create an empty stack stack GFG stack = new GFG(); // use add() method to add values in the stack stack.add(1); stack.add(2); stack.add(3); try { // error as 4 is out of range stack.removeRange(1, 4); System.out.println("The stack after using removeRange:" + stack); } catch (Exception e) { System.out.println(e); } } }
java.lang.ArrayIndexOutOfBoundsException