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" ))); } } |
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); } } } |
Stack: [1, 2, 3, 10, 20] The 10th occurrence of Geeks is at index: java.lang.IndexOutOfBoundsException: 10 >= 5