Java CopyOnWriteArrayList indexOf()方法

Java CopyOnWriteArrayList indexOf()方法

CopyOnWriteArrayList的indexOf(Object o)**方法返回列表中传递的元素的第一次出现。如果该元素不存在于列表中,则返回-1。

语法:

public int indexOf(Object o)
Java

参数:该函数接受一个参数o,其首次出现的元素将被返回。

返回值: 该函数返回元素的第一次出现。如果该元素在列表中不存在,则返回-1。

下面的程序说明了上述函数。

示例 1:

// Java Program to illustrate the CopyOnWriteArrayList
// indexOf() 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);
  
        // first occurrence of 67
        System.out.println("indexOf value: " + ArrLis.indexOf(67));
    }
}
Java

输出:

CopyOnWriteArrayList: [32, 67, 67, 100]
indexOf value: 1
Java

示例 2:

// Java Program to illustrate the CopyOnWriteArrayList
// indexOf() 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("indexOf value: " 
                         + ArrLis.indexOf(200));
    }
}
Java

输出:

CopyOnWriteArrayList: [32, 67, 67, 100]
indexOf value: -1
Java

CopyOnWriteArrayList的indexOf(E e, int index)方法会返回列表中的元素在索引位置之后的第一次出现。如果该元素不存在于列表中,则返回-1。

语法:

public int indexOf(E e, int index)
Java

参数:该函数接受两个参数,描述如下。

index:指定要搜索的发生的索引。
e:指定要返回的从索引位置开始的第一次出现的元素。

返回值:该函数返回元素在索引位置之后的第一次出现。如果该元素不存在于列表中,则返回-1。

异常:如果指定的索引为负数,该函数会抛出一个IndexOutOfBoundsException

下面的程序说明了上述函数。

示例 1:

// Java Program to illustrate the CopyOnWriteArrayList
// indexOf() 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);
  
        // first occurrence of 67 from 2nd index
        System.out.println("indexOf value: " 
                          + ArrLis.indexOf(67, 2));
    }
}
Java

输出:

CopyOnWriteArrayList: [32, 67, 67, 67]
indexOf value: 2
Java

示例 2:

// Java Program to illustrate the CopyOnWriteArrayList
// indexOf() 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("indexOf value: " 
                      + ArrLis.indexOf(-1, 200));
    }
}
Java

输出:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
    at java.util.concurrent.CopyOnWriteArrayList.indexOf(CopyOnWriteArrayList.java:198)
    at java.util.concurrent.CopyOnWriteArrayList.indexOf(CopyOnWriteArrayList.java:263)
    at GFG.main(GFG.java:24)
Java

参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#indexOf-E-int-

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册