Java.util.ArrayDeque 类

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

语法

public Spliterator<E> spliterator()
  • 1

这里,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 + " ")));   
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

上述代码的输出将是:

MyDeque contains: 10 20 30 40 50 
  • 1

示例:

让我们考虑另一个例子来了解给定双端队列中元素的 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 + " "));
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

上述代码的输出将是:

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