Java中CopyOnWriteArrayList spliterator() 方法
CopyOnWriteArrayList 中的 spliterator() 方法返回一个迭代器,以适当的顺序遍历列表中的元素。在操作迭代器时无需同步。
语法:
public Spliterator spliterator()
参数: 该函数不接受任何参数。
返回值: 该函数返回一个迭代器,以遍历列表中的元素。
下面的程序说明了以上函数:
程序1:
//Java程序演示CopyOnWriteArrayList spliterator() 方法
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建CopyOnWriteArrayList对象
CopyOnWriteArrayList ArrLis
= new CopyOnWriteArrayList();
// 添加元素
ArrLis.add(32);
ArrLis.add(67);
ArrLis.add(67);
ArrLis.add(100);
// 打印CopyOnWriteArrayList
System.out.println("CopyOnWriteArrayList: " + ArrLis);
Spliterator numbers = ArrLis.spliterator();
// 打印Spliterator的结果
System.out.println("数字列表:");
// Spliterator的forEachRemaining方法
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
CopyOnWriteArrayList: [32, 67, 67, 100]
数字列表:
32
67
67
100
程序2:
//Java程序演示CopyOnWriteArrayList spliterator() 方法
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建CopyOnWriteArrayList对象
CopyOnWriteArrayList ArrLis
= new CopyOnWriteArrayList();
// 添加元素
ArrLis.add("gopal");
ArrLis.add("gfg");
ArrLis.add("jgec");
ArrLis.add("sudo");
// 打印CopyOnWriteArrayList
System.out.println("CopyOnWriteArrayList: " + ArrLis);
Spliterator numbers = ArrLis.spliterator();
// 打印Spliterator的结果
System.out.println("字符串列表:");
// Spliterator的forEachRemaining方法
numbers.forEachRemaining((n) -> System.out.println(n));
}
}
CopyOnWriteArrayList: [gopal, gfg, jgec, sudo]
字符串列表:
gopal
gfg
jgec
sudo
参考资料: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CopyOnWriteArrayList.html#spliterator–
极客教程