当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java CopyOnWriteArrayList indexOf()用法及代码示例


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

    用法:

    public int indexOf(Object o)

    参数:该函数接受将返回其首次出现的参数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)); 
        } 
    }
    输出:
    CopyOnWriteArrayList: [32, 67, 67, 100]
    indexOf value: 1
    

    示例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)); 
        } 
    }
    输出:
    CopyOnWriteArrayList: [32, 67, 67, 100]
    indexOf value: -1
    
  • CopyOnWriteArrayList的indexOf(E e,int index)方法返回位置索引之后列表中传递的元素的第一次出现。如果列表中不存在该元素,则返回-1。

    用法:

    public int indexOf(E e, int index)

    参数:该函数接受以下两个参数:

    • 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)); 
        } 
    }
    输出:
    CopyOnWriteArrayList: [32, 67, 67, 67]
    indexOf value: 2
    

    示例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)); 
        } 
    }

    输出:

    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)

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



相关用法


注:本文由纯净天空筛选整理自gopaldave大神的英文原创作品 CopyOnWriteArrayList indexOf() method in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。