Java中的 ConcurrentLinkedQueue spliterator() 方法
ConcurrentLinkedQueue的spliterator()方法用于获取与 ConcurrentLinkedQueue 相同元素的 Spliterator。 Created Spliterator 是弱一致的。它可以与Java 8 中的 Streams 一起使用。它也可以单独和批量遍历元素。 Spliterator 是遍历元素的更好方法,因为它提供了对元素的更多控制。
句法:
public Spliterator spliterator()
返回:此方法返回 ConcurrentLinkedQueue 中元素的Spliterator 。
下面的程序说明了 ConcurrentLinkedQueue 的 spliterator() 方法:
示例 1:
// Java Program Demonstrate spliterator()
// method of ConcurrentLinkedQueue
import java.util.concurrent.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an ConcurrentLinkedQueue
ConcurrentLinkedQueue
queue = new ConcurrentLinkedQueue();
// Add Numbers to queue
queue.add(4353);
queue.add(377139);
queue.add(624378);
queue.add(654793);
queue.add(764764);
queue.add(838494);
queue.add(632845);
// create Spliterator of ConcurrentLinkedQueue
// using spliterator() method
Spliterator spt = queue.spliterator();
// print result from Spliterator
System.out.println("list of Numbers:");
// forEachRemaining method of Spliterator
spt.forEachRemaining((n) -> System.out.print(n + ", "));
}
}
输出:
list of Numbers:
4353, 377139, 624378, 654793, 764764, 838494, 632845,
示例 2:
// Java Program Demonstrate spliterator()
// method of ConcurrentLinkedQueue
import java.util.concurrent.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// create an ConcurrentLinkedQueue
ConcurrentLinkedQueue
queue = new ConcurrentLinkedQueue();
// Add String to queue
queue.add("Aman");
queue.add("Amar");
queue.add("Sanjeet");
queue.add("Rabi");
queue.add("Debasis");
queue.add("Raunak");
queue.add("Mahesh");
// create Spliterator of ConcurrentLinkedQueue
// using spliterator() method
Spliterator spt = queue.spliterator();
// print result from Spliterator
System.out.println("list of Strings:");
// forEachRemaining method of Spliterator
spt.forEachRemaining((n) -> System.out.print(n + ", "));
}
}
输出:
list of Strings:
Aman, Amar, Sanjeet, Rabi, Debasis, Raunak, Mahesh,
参考: https: Java/util/concurrent/ConcurrentLinkedQueue.html#spliterator–