The lastIndexOf(Object o) method of CopyOnWriteArrayList returns the last occurrence of the element passed in the list. It returns -1 if the element is not present in the list.
Syntax:
public int lastIndexOf(Object o)
Parameters: The function accepts a parameter o whose last occurrence is to be returned.
Return Value: The function returns the last occurrence of the element. It returns -1 if the element is not present in the list.
Below programs illustrate the above function:
Program 1:
Java
// Java Program to illustrate the CopyOnWriteArrayList // lastIndexOf() method in Java import java.util.concurrent.CopyOnWriteArrayList; import java.util.*; public class GFG { public static void main(String[] args) { // create object of CopyOnWriteArrayList CopyOnWriteArrayList<Integer> ArrLis = new CopyOnWriteArrayList<Integer>(); // Add elements ArrLis.add( 32 ); ArrLis.add( 67 ); ArrLis.add( 67 ); ArrLis.add( 100 ); // print CopyOnWriteArrayList System.out.println("CopyOnWriteArrayList: " + ArrLis); // last occurrence of 67 System.out.println("lastIndexOf value: " + ArrLis.lastIndexOf( 67 )); } } |
CopyOnWriteArrayList: [32, 67, 67, 100] lastIndexOf value: 2
Program 2:
Java
// Java Program to illustrate the CopyOnWriteArrayList // lastIndexOf() method in Java import java.util.concurrent.CopyOnWriteArrayList; import java.util.*; public class GFG { public static void main(String[] args) { // create object of CopyOnWriteArrayList CopyOnWriteArrayList<Integer> ArrLis = new CopyOnWriteArrayList<Integer>(); // Add elements ArrLis.add( 32 ); ArrLis.add( 67 ); ArrLis.add( 67 ); ArrLis.add( 100 ); // print CopyOnWriteArrayList System.out.println("CopyOnWriteArrayList: " + ArrLis); // 200 is not present System.out.println("lastIndexOf value: " + ArrLis.lastIndexOf( 200 )); } } |
CopyOnWriteArrayList: [32, 67, 67, 100] lastIndexOf value: -1
The lastIndexOf(E e, int index) method of CopyOnWriteArrayList returns the last occurrence of the element passed in the list after position index. It returns -1 if the element is not present in the list.
Syntax:
public int lastIndexOf(E e, int index)
Parameters: The function accepts two parameters which are described below:
- index: specifies the index from which the occurrence is to be searched.
- e: specifies the element whose last occurrence from position index is to be returned.
Return Value: The function returns the last occurrence of the element after position index. It returns -1 if the element is not present in the list.
Exceptions: The function throws an IndexOutOfBoundsException if the specified index is negative.
Below programs illustrate the above function:
Program 1:
Java
// Java Program to illustrate the CopyOnWriteArrayList // lastIndexOf() method in Java import java.util.concurrent.CopyOnWriteArrayList; import java.util.*; public class GFG { public static void main(String[] args) { // create object of CopyOnWriteArrayList CopyOnWriteArrayList<Integer> ArrLis = new CopyOnWriteArrayList<Integer>(); // Add elements ArrLis.add( 32 ); ArrLis.add( 67 ); ArrLis.add( 67 ); ArrLis.add( 67 ); // print CopyOnWriteArrayList System.out.println( "CopyOnWriteArrayList: " + ArrLis); // last occurrence of 67 from 2nd index System.out.println( "lastIndexOf value: " + ArrLis.lastIndexOf( 67 , 2 )); } } |
Output:
CopyOnWriteArrayList: [32, 67, 67, 67] lastIndexOf value: 2
Program 2:
Java
// Java Program to illustrate the CopyOnWriteArrayList // lastIndexOf() method in Java import java.util.concurrent.CopyOnWriteArrayList; import java.util.*; public class GFG { public static void main(String[] args) { // create object of CopyOnWriteArrayList CopyOnWriteArrayList<Integer> ArrLis = new CopyOnWriteArrayList<Integer>(); // Add elements ArrLis.add( 32 ); ArrLis.add( 67 ); ArrLis.add( 67 ); ArrLis.add( 100 ); // print CopyOnWriteArrayList System.out.println( "CopyOnWriteArrayList: " + ArrLis); // -1 is out of range, hence exception System.out.println( "lastIndexOf value: " + ArrLis.lastIndexOf(- 1 , 200 )); } } |
Output:
Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.concurrent.CopyOnWriteArrayList.lastIndexOf(CopyOnWriteArrayList.java:198)
at java.util.concurrent.CopyOnWriteArrayList.lastIndexOf(CopyOnWriteArrayList.java:263)
at GFG.main(GFG.java:24)