El método Java.util.Stack.indexOf(Object element, int index) se usa para el índice de la primera aparición del elemento especificado en esta pila, buscando hacia adelante desde el índice, o devuelve -1 si no se encuentra el elemento. Más formalmente, devuelve el índice más bajo i tal que (i >= index && Objects.equals(o, get(i))), o -1 si no existe dicho índice.
Sintaxis:
public int indexOf(Object element, int index)
Parámetros: Este método acepta dos parámetros:
- elemento del tipo de Stack. Especifica el elemento cuya ocurrencia se necesita verificar en la pila.
- índice del tipo Integer. Especifica el índice desde el que empezar a buscar
Valor devuelto: este método devuelve el índice o la posición de la primera aparición del elemento en la pila desde el índice especificado. De lo contrario, devuelve -1 si el elemento no está presente en la pila. El valor devuelto es de tipo entero.
Excepción: este método genera una excepción IndexOutOfBoundsException si el índice especificado es negativo.
Los siguientes programas ilustran el método Java.util.Stack.indexOf():
Programa 1:
// Java code to illustrate indexOf() 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("Geeks"); // Displaying the Stack System.out.println("Stack: " + stack); // The first position of an element // is returned System.out.println("The first occurrence" + " of Geeks is at index:" + stack.indexOf("Geeks")); // Get the second occurrence of Geeks // using indexOf() method System.out.println("The second occurrence" + " of Geeks is at index: " + stack.indexOf("Geeks", stack.indexOf("Geeks"))); } }
Stack: [Geeks, for, Geeks, 10, Geeks] The first occurrence of Geeks is at index:0 The second occurrence of Geeks is at index: 0
Programa 2: Para demostrar IndexOutOfBoundsException
// Java code to illustrate indexOf() import java.util.*; public class StackDemo { public static void main(String args[]) { // Creating an empty Stack Stack<Integer> stack = new Stack<Integer>(); // Use add() method to add elements in the Stack stack.add(1); stack.add(2); stack.add(3); stack.add(10); stack.add(20); // Displaying the Stack System.out.println("Stack: " + stack); // Get the -1 occurrence of Geeks // using indexOf() method System.out.println("The -1 occurrence" + " of Geeks is at index: "); try { stack.indexOf("Geeks", stack.indexOf("Geeks")); } catch (Exception e) { System.out.println(e); } } }
Stack: [1, 2, 3, 10, 20] The -1 occurrence of Geeks is at index: java.lang.ArrayIndexOutOfBoundsException: -1