Java中的CopyOnWriteArrayList indexOf()方法

  • 这个 indexOf(对象o) 方法 CopyOnWriteArrayList 返回列表中传递的元素的第一个匹配项。如果元素不在列表中,则返回-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
    

  • 这个 indexOf(E,int-index) 方法 CopyOnWriteArrayList 返回位置索引后在列表中传递的元素的第一个匹配项。如果元素不在列表中,则返回-1。

    语法:

    public int indexOf(E e, int 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-

null
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞9 分享