El método set() de Java Stack se usa para reemplazar cualquier elemento particular en la pila creada usando la clase Stack con otro elemento. Esto se puede hacer especificando la posición del elemento a reemplazar y el nuevo elemento en el parámetro del método set().
Sintaxis:
public E set(int index, Object element)
Parámetros: esta función acepta dos parámetros, como se muestra en la sintaxis anterior y se describe a continuación.
- índice : es de tipo entero y se refiere a la posición del elemento que se va a reemplazar de la pila.
- element : Es el nuevo elemento por el cual se reemplazará el elemento existente y es del mismo tipo de objeto que la pila.
Valor devuelto: el método devuelve el valor anterior de la pila que se reemplaza con el nuevo valor.
Excepción: este método arroja las siguientes excepciones:
- UnsupportedOperationException : si la operación de configuración no es compatible con esta pila
- ClassCastException : si la clase del elemento especificado impide que se agregue a esta pila
- NullPointerException : si el elemento especificado es nulo y esta pila no permite elementos nulos
- IllegalArgumentException : si alguna propiedad del elemento especificado impide que se agregue a esta pila
- IndexOutOfBoundsException : si el índice está fuera de rango (índice = tamaño())
El siguiente programa ilustra el método Java.util.Stack.set():
Ejemplo 1:
// Java code to illustrate set() import java.io.*; import java.util.*; public class StackDemo { public static void main(String args[]) { // Creating an empty Stack Stack<String> stack = new Stack<String>(); // Use add() method to add elements in the stack stack.add("Geeks"); stack.add("for"); stack.add("Geeks"); stack.add("10"); stack.add("20"); // Displaying the linkedstack System.out.println("Stack:" + stack); // Using set() method to replace Geeks with GFG System.out.println("The Object that is replaced is: " + stack.set(2, "GFG")); // Using set() method to replace 20 with 50 System.out.println("The Object that is replaced is: " + stack.set(4, "50")); // Displaying the modified linkedstack System.out.println("The new Stack is:" + stack); } }
Producción:
Stack:[Geeks, for, Geeks, 10, 20] The Object that is replaced is: Geeks The Object that is replaced is: 20 The new Stack is:[Geeks, for, GFG, 10, 50]
Ejemplo 2: Para demostrar IndexOutOfBoundException
// Java code to illustrate set() import java.io.*; import java.util.*; public class StackDemo { public static void main(String args[]) { // Creating an empty Stack Stack<String> stack = new Stack<String>(); // Use add() method to add elements in the stack stack.add("Geeks"); stack.add("for"); stack.add("Geeks"); stack.add("10"); stack.add("20"); // Displaying the linkedstack System.out.println("Stack:" + stack); // Using set() method to replace 10th with GFG // and the 10th element does not exist System.out.println("Trying to replace 10th " + "element with GFG"); try { stack.set(10, "GFG"); } catch (Exception e) { System.out.println(e); } } }
Producción:
Stack:[Geeks, for, Geeks, 10, 20] Trying to replace 10th element with GFG java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 10