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