Java CopyOnWriteArrayList spliterator()方法
CopyOnWriteArrayList 的 splitator() 方法以适当的顺序返回该列表中的元素的splitator。在对分割器进行操作时,不需要进行同步。
语法
public Spliterator spliterator()
参数: 该函数不接受任何参数。
返回值: 该函数在列表中的元素上返回一个分割器。
下面的程序说明了上述函数。
程序1 :
// Java Program to illustrate the CopyOnWriteArrayList
// spliterator() 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);
Spliterator<Integer> numbers = ArrLis.spliterator();
// print result from Spliterator
System.out.println("list of Numbers:");
// forEachRemaining method of Spliterator
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
输出。
CopyOnWriteArrayList: [32, 67, 67, 100]
list of Numbers:
32
67
67
100
程序2
// Java Program to illustrate the CopyOnWriteArrayList
// spliterator() 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);
Spliterator<String> numbers = ArrLis.spliterator();
// print result from Spliterator
System.out.println("list of strings:");
// forEachRemaining method of Spliterator
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
输出。
CopyOnWriteArrayList: [gopal, gfg, jgec, sudo]
list of strings:
gopal
gfg
jgec
sudo
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#spliterator-
极客教程