Java中ArrayBlockingQueue的spliterator()方法

Java中ArrayBlockingQueue的spliterator()方法

ArrayBlockingQueue 类中的 spliterator() 方法返回ArrayBlockingQueue元素的Spliterator。返回的迭代器是弱一致的。Spliterator可以与Java 8中的Streams一起使用。Spliterator可以单独和批量遍历元素。

语法:

public Spliterator spliterator()

返回值: 该方法返回ArrayBlockingQueue中元素的Spliterator。

以下程序示例ArrayBlockingQueue类的spliterator()方法:

程序1:

// Java程序演示ArrayBlockingQueue的spliterator()方法
 
import java.util.concurrent.ArrayBlockingQueue;
import java.util.*;
public class GFG {
 
    public static void main(String[] args)
    {
        //定义ArrayBlockingQueue的容量
        int capacityOfQueue = 7;
 
        //创建ArrayBlockingQueue对象
        ArrayBlockingQueue<Integer> Queue
            = new ArrayBlockingQueue<Integer>(capacityOfQueue);
 
        //向ArrayBlockingQueue中添加元素
        Queue.add(22);
        Queue.add(34);
        Queue.add(45);
        Queue.add(67);
 
        //使用spliterator()方法创建Queue的Spliterator
        Spliterator<Integer> numbers = Queue.spliterator();
 
        //获取Spliterator的getExactSize
        System.out.println("Spliterator的大小:"
                           + numbers.estimateSize());
 
        System.out.println("数字列表:");
        // Spliterator的forEachRemaining方法
        numbers.forEachRemaining((n) -> System.out.println(n));
    }
}

输出:

Spliterator的大小:4
数字列表:
22
34
45
67

程序2:

// Java程序演示ArrayBlockingQueue的spliterator()方法
 
import java.util.concurrent.ArrayBlockingQueue;
import java.util.*;
public class GFG {
 
    public static void main(String[] args)
    {
        //定义ArrayBlockingQueue的容量
        int capacityOfQueue = 7;
 
        //创建ArrayBlockingQueue对象
        ArrayBlockingQueue<String> QueueOfStrings
            = new ArrayBlockingQueue<String>(capacityOfQueue);
 
        //向ArrayBlockingQueue中添加元素
        QueueOfStrings.add("印度");
        QueueOfStrings.add("巴基斯坦");
        QueueOfStrings.add("英国");
        QueueOfStrings.add("中国");
        QueueOfStrings.add("阿联酋");
        QueueOfStrings.add("西班牙");
 
        //使用spliterator()方法创建QueueOfStrings的Spliterator
        Spliterator<String>
            listOfStrings = QueueOfStrings.spliterator();
 
        //获取Spliterator的getExactSize
        System.out.println("Spliterator的大小:"
                           + listOfStrings.estimateSize());
 
        System.out.println("国家名称列表:");
 
        // Spliterator的forEachRemaining方法
        listOfStrings.forEachRemaining((str) -> print(str));
    }
    public static void print(String str)
    {
        System.out.println("值= " + str);
    }
}

输出:

Spliterator的大小:6
国家名称列表:
值= 印度
值= 巴基斯坦
值= 英国
值= 中国
值= 阿联酋
值= 西班牙

参考: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html#spliterator–

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程