Java中的ConcurrentLinkedQueue spliterator()方法
ConcurrentLinkedQueue 类的 spliterator() 方法用于获取与ConcurrentLinkedQueue相同元素的Spliterator。创建的Spliterator是弱一致的。它可以与Java 8中的Streams一起使用。它也可以单独遍历元素以及批量遍历元素。Spliterator是遍历元素更好的方法,因为它提供了更多元素控制。
语法:
public Spliterator spliterator()
返回值: 此方法返回一个在ConcurrentLinkedQueue中的元素上的 Spliterator 。
以下程序说明了ConcurrentLinkedQueue的spliterator()方法:
示例1:
//Java程序演示ConcurrentLinkedQueue的spliterator()方法
import java.util.concurrent.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
//创建ConcurrentLinkedQueue
ConcurrentLinkedQueue<Integer>
queue = new ConcurrentLinkedQueue<Integer>();
//将数字添加到队列中
queue.add(4353);
queue.add(377139);
queue.add(624378);
queue.add(654793);
queue.add(764764);
queue.add(838494);
queue.add(632845);
//使用spliterator()方法创建ConcurrentLinkedQueue的Spliterator
Spliterator<Integer> spt = queue.spliterator();
//从Spliterator打印结果
System.out.println("数字列表:");
// Spliterator的forEachRemaining方法
spt.forEachRemaining((n) -> System.out.print(n + ", "));
}
}
数字列表:
4353, 377139, 624378, 654793, 764764, 838494, 632845,
示例2:
// Java程序演示ConcurrentLinkedQueue的spliterator()方法
import java.util.concurrent.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
//创建ConcurrentLinkedQueue
ConcurrentLinkedQueue<String>
queue = new ConcurrentLinkedQueue<String>();
//将字符串添加到队列中
queue.add("Aman");
queue.add("Amar");
queue.add("Sanjeet");
queue.add("Rabi");
queue.add("Debasis");
queue.add("Raunak");
queue.add("Mahesh");
//使用spliterator()方法创建ConcurrentLinkedQueue的Spliterator
Spliterator<String> spt = queue.spliterator();
//从Spliterator打印结果
System.out.println("字符串列表:");
// Spliterator的forEachRemaining方法
spt.forEachRemaining((n) -> System.out.print(n + ", "));
}
}
字符串列表:
Aman, Amar, Sanjeet, Rabi, Debasis, Raunak, Mahesh,
引用: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentLinkedQueue.html#spliterator–
极客教程