Java.util.ArrayDeque 类

java.util.ArrayDeque.spliterator() 方法用于创建一个后期绑定和快速失败的 spliterator双端队列中的元素。

语法

public Spliterator<E> spliterator()

这里,E 是容器维护的元素类型。

参数

不需要参数。

返回值

返回双端队列中元素的分割器。

异常

不适用。

示例:

在下面的示例中,java.util.ArrayDeque.spliterator() 方法是用于在给定双端队列中的元素上创建拆分器。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个ArrayDeque
    ArrayDeque<Integer> MyDeque = new ArrayDeque<Integer>();

    //填充ArrayDeque
    MyDeque.add(10);
    MyDeque.add(20);
    MyDeque.add(30);
    MyDeque.add(40);
    MyDeque.add(50);

    //在ArrayDeque上创建spliterator对象
    Spliterator<Integer> splitr = MyDeque.spliterator(); 

    //显示ArrayDeque的内容
    //使用tryAdvance方法
    System.out.print("MyDeque contains: ");              
    while(splitr.tryAdvance((n) -> System.out.print(n + " ")));   
  }
}

上述代码的输出将是:

MyDeque contains: 10 20 30 40 50 

示例:

让我们考虑另一个例子来了解给定双端队列中元素的 spliterator 概念。

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //创建一个ArrayDeque
    ArrayDeque<Integer> MyDeque = new ArrayDeque<Integer>();

    //填充ArrayDeque
    MyDeque.add(10);
    MyDeque.add(20);
    MyDeque.add(-30);
    MyDeque.add(-40);
    MyDeque.add(-50);

    //在ArrayDeque上创建spliterator对象
    Spliterator<Integer> splitr = MyDeque.spliterator(); 

    //打印ArrayDeque的估计大小
    System.out.println("Estimated size: " + splitr.estimateSize());  

    //显示ArrayDeque的内容
    //使用forEachRemaining方法
    System.out.print("MyDeque contains: ");               
    splitr.forEachRemaining((n) -> System.out.print(n + " "));
  }
}

上述代码的输出将是:

Estimated size: 5
MyDeque contains: 10 20 -30 -40 -50