Java的ConcurrentLinkedDeque Spliterator()方法及其示例
ConcurrentLinkedDeque 的 spliterator() 方法返回迭代此ConcurrentLinkedDeque元素的Spliterator。返回的迭代器弱一致。Spliterator可以与Java 8中的Streams一起使用。Spliterator可以单独和批量遍历元素。
句法:
public Spliterator spliterator()
返回: 该方法返回在ConcurrentLinkedDeque中元素上的Spliterator。
下面的程序说明了ConcurrentLinkedDeque的spliterator()方法:
程序1:
// Java程序示例,演示了spliterator()方法
// of ConcurrentLinkedDeque
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建ConcurrentLinkedDeque对象
ConcurrentLinkedDeque<Integer> CBD
= new ConcurrentLinkedDeque<Integer>();
// 添加元素
CBD.add(22);
CBD.add(34);
CBD.add(45);
CBD.add(67);
// 使用spliterator()方法创建Deque的Spliterator
Spliterator<Integer> numbers
= CBD.spliterator();
// 获得Spliterator的getExactSize
System.out.println("Spliterator大小:"
+ numbers.estimateSize());
System.out.println("数字列表:");
// Spliterator的forEachRemaining方法
numbers.forEachRemaining(
(n) -> System.out.println(n));
}
}
Spliterator大小:9223372036854775807
数字列表:
22
34
45
67
程序2:
// Java程序示例,演示了spliterator()方法
// of ConcurrentLinkedDeque
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// 创建ConcurrentLinkedDeque对象
ConcurrentLinkedDeque<String> CBD
= new ConcurrentLinkedDeque<String>();
// 在ConcurrentLinkedDeque的前面添加数字
CBD.add("Geeks");
CBD.add("forGeeks");
CBD.add("A");
CBD.add("Computer");
CBD.add("Portal");
// 使用spliterator()方法创建Deque的Spliterator
Spliterator<String> numbers
= CBD.spliterator();
// 获得Spliterator的getExactSize
System.out.println("Spliterator大小:"
+ numbers.estimateSize());
System.out.println("字符串列表:");
// Spliterator的forEachRemaining方法
numbers.forEachRemaining(
(n) -> System.out.println(n));
}
}
Spliterator大小:9223372036854775807
字符串列表:
Geeks
forGeeks
A
Computer
Portal
极客教程