Open In App

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

Last Updated : 24 Dec, 2018
Improve
Improve
Like Article
Like
Save
Share
Report

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

Syntax:

public int lastIndexOf(Object element, 
                        int last_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.
  • last index of the type Integer. It specifies the last index to start searching from

Return Value: This method returns the last index or position of the first occurrence of the element in the Stack from the specified last 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 greater than or equal to the current size of this vector

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

Program 1:




// Java code to illustrate lastIndexOf()
  
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 last index:"
                           + stack.indexOf("Geeks"));
  
        // Get the last occurrence of Geeks
        // using lastIndexOf() method
        System.out.println("The last occurrence"
                           + " of Geeks is at last index: "
                           + stack
                                 .lastIndexOf("Geeks",
                                              stack.lastIndexOf("Geeks")));
    }
}


Output:

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

Program 2: To demonstrate IndexOutOfBoundsException




// Java code to illustrate lastIndexOf()
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 10th occurrence of Geeks
        // using lastIndexOf() method
        System.out.println("The 10th occurrence"
                           + " of Geeks is at index: ");
  
        try {
            stack.lastIndexOf("Geeks", 10);
        }
        catch (Exception e) {
            System.out.println(e);
        }
    }
}


Output:

Stack: [1, 2, 3, 10, 20]
The 10th occurrence of Geeks is at index: 
java.lang.IndexOutOfBoundsException: 10 >= 5


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads