Java CopyOnWriteArrayList lastIndexOf()方法
CopyOnWriteArrayList的lastIndexOf(Object o)**方法返回列表中最后出现的元素。如果该元素不存在于列表中,则返回-1。
语法:
public int lastIndexOf(Object o)
参数:该函数接受一个参数o,最后出现的元素将被返回。
返回值: 该函数返回元素的最后出现的位置。如果该元素不存在于列表中,则返回-1。
下面的程序说明了上述函数。
示例 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
示例 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));
}
}
输出:
“`java CopyOnWriteArrayList: [32, 67, 67, 100]
lastIndexOf value: -1
<pre><code class=" line-numbers"><br />**CopyOnWriteArrayList的**lastIndexOf(E e, int index)方法返回列表中最后出现的元素,即索引位置之后。如果该元素不存在于列表中,则返回-1。
**语法:**
“`java
public int lastIndexOf(E e, int index)
参数:该函数接受两个参数,描述如下。
* **index:**指定要搜索的出现的索引。
* **e**:指定要返回的从索引位置开始的最后出现的元素。
返回值:该函数返回元素在位置索引之后的最后出现的情况。如果该元素在列表中不存在,它将返回-1。
异常:如果指定的索引为负数,该函数会抛出一个IndexOutOfBoundsException。
下面的程序说明了上述函数。
示例 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));
}
}
输出:
CopyOnWriteArrayList: [32, 67, 67, 67]
lastIndexOf value: 2
示例 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));
}
}
输出:
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)
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#lastIndexOf-E-int-
极客教程