Java中的CopyOnWriteArrayList listIterator()方法

这个 listIterator() 方法 CopyOnWriteArrayList 按正确的顺序返回列表中元素的listIterator。listIterator不支持remove、set或add方法。

null

语法:

public ListIterator listIterator()

参数: 该函数不接受任何参数。

返回值: 函数返回列表中元素的列表迭代器(按正确顺序)

以下程序说明了上述功能:

项目1:

JAVA

// Java Program to illustrate the CopyOnWriteArrayList
// listIterator() 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);
// Call listIterator() method of
Iterator iteratorVals = ArrLis.listIterator();
// Print elements of iterator
// created from CopyOnWriteArrayList
System.out.println( "The iterator values"
+ " of CopyOnWriteArrayList are:" );
// prints the elements using an iterator
while (iteratorVals.hasNext()) {
System.out.println(iteratorVals.next());
}
}
}


输出:

CopyOnWriteArrayList: [32, 67, 67, 100]The iterator values of CopyOnWriteArrayList are:326767100

这个 列表迭代器(索引) 方法 CopyOnWriteArrayList 从特定索引开始,按正确的顺序返回列表中元素的listIterator。listIterator不支持remove、set或add方法。

语法:

public ListIterator listIterator(int index)

参数: 该函数接受一个参数 指数 它指定从列表迭代器返回的第一个元素的索引。

返回值: 该函数返回一个列表迭代器,该迭代器从指定的索引开始(按正确的顺序)遍历该列表中的元素。

例外情况: 函数抛出 IndexOutOfBoundsException 如果索引超出范围。

以下程序说明了上述功能:

项目1:

JAVA

// Java Program to illustrate the CopyOnWriteArrayList
// listIterator() 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<String> ArrLis
= new CopyOnWriteArrayList<String>();
// Add elements
ArrLis.add( "gopal" );
ArrLis.add( "gfg" );
ArrLis.add( "jgec" );
ArrLis.add( "sudo" );
// print CopyOnWriteArrayList
System.out.println( "CopyOnWriteArrayList: " + ArrLis);
// Call listIterator() method from 2nd index
Iterator iteratorVals = ArrLis.listIterator( 2 );
// Print elements of iterator
// created from CopyOnWriteArrayList
System.out.println( "The iterator values"
+ " of CopyOnWriteArrayList are:" );
// prints the elements using an iterator
while (iteratorVals.hasNext()) {
System.out.println(iteratorVals.next());
}
}
}


输出:

CopyOnWriteArrayList: [gopal, gfg, jgec, sudo]The iterator values of CopyOnWriteArrayList are:jgecsudo

方案2 :

JAVA

// Java Program to illustrate the CopyOnWriteArrayList
// listIterator() method in Java, exception
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create object of CopyOnWriteArrayList
CopyOnWriteArrayList<String> ArrLis
= new CopyOnWriteArrayList<String>();
// Add elements
ArrLis.add( "gopal" );
ArrLis.add( "gfg" );
ArrLis.add( "jgec" );
ArrLis.add( "sudo" );
// print CopyOnWriteArrayList
System.out.println( "CopyOnWriteArrayList: " + ArrLis);
// Call listIterator() method from 6th index
// hence exception is returned
Iterator iteratorVals = ArrLis.listIterator( 6 );
// Print elements of iterator
// created from CopyOnWriteArrayList
System.out.println( "The iterator values"
+ " of CopyOnWriteArrayList are:" );
// prints the elements using an iterator
while (iteratorVals.hasNext()) {
System.out.println(iteratorVals.next());
}
}
}


输出:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 6    at java.util.concurrent.CopyOnWriteArrayList.listIterator(CopyOnWriteArrayList.java:1107)    at GFG.main(GFG.java:25)

参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#listIterator–

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享