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 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 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 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 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)