Stack indexOf(Object, int) method in Java with Example

The Java.util.Stack.indexOf(Object element, int index) method is used to the index of the first occurrence of the specified element in this Stack, searching forwards from index, or returns -1 if the element is not found. More formally, returns the lowest index i such that (i >= index && Objects.equals(o, get(i))), or -1 if there is no such index.

Syntax:

public int indexOf(Object element, 
                        int index)

Parameters: This method accepts two parameters:



  • element of the type of Stack. It specifies the element whose occurrence is needed to be checked in the Stack.
  • index of the type Integer. It specifies the index to start searching from

Return Value: This method returns the index or position of the first occurrence of the element in the Stack from the specified index. Else it returns -1 if the element is not present in the Stack. The returned value is of integer type.

Exception: This method throws IndexOutOfBoundsException if the specified index is negative.

Below programs illustrate the Java.util.Stack.indexOf() method:

Program 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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")));
    }
}

chevron_right


Output:

Stack: [Geeks, for, Geeks, 10, Geeks]
The first occurrence of Geeks is at index:0
The second occurrence of Geeks is at index: 0

Program 2: To demonstrate IndexOutOfBoundsException

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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);
        }
    }
}

chevron_right


Output:

Stack: [1, 2, 3, 10, 20]
The -1 occurrence of Geeks is at index: 
java.lang.ArrayIndexOutOfBoundsException: -1


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.