Java ArrayDeque spliterator() 方法及示例



描述

Java ArrayDeque spliterator() 方法为该双端队列中的元素创建一个延迟绑定且快速失败的 Spliterator。延迟绑定意味着 spliterator 在遍历时绑定到元素源,而不是在创建时绑定。Spliterator 是一个更好的迭代器,在遍历过程中提供更多对项目的控制。

声明

以下是java.util.ArrayDeque.spliterator() 方法的声明

public Spliterator<E> spliterator()

参数

返回值

此方法返回此双端队列中元素上的 Spliterator。

异常

示例 #1

以下示例演示了使用整数的 Java ArrayDeque spliterator() 方法。我们创建了一个整数的 ArrayDeque,添加了一些元素,然后使用 spliterator() 方法创建 Spliterator。然后使用迭代器遍历项目并打印它们。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Spliterator;

public class ArrayDequeDemo {
   public static void main(String[] args) {
      
      // create an empty array deque
      ArrayDeque<Integer> deque = new ArrayDeque<>();

      // use add() method to add elements in the deque
      deque.add(25);
      deque.add(30);
      deque.add(20);
      deque.add(18);        

      // get the spliterator
      Spliterator<Integer> spliterator = deque.spliterator();

      // use the spliterator to print each item
      spliterator.forEachRemaining(i -> System.out.println(i));
   }
}

让我们编译并运行上述程序,这将产生以下结果:

25
30
20
18

示例 #2

以下示例演示了使用字符串的 Java ArrayDeque spliterator() 方法。我们创建了一个字符串的 ArrayDeque,添加了一些元素,然后使用 spliterator() 方法创建 Spliterator。然后使用迭代器遍历项目并打印它们。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Spliterator;

public class ArrayDequeDemo {
   public static void main(String[] args) {
      
      // create an empty array deque
      ArrayDeque<String> deque = new ArrayDeque<>();

      // use add() method to add elements in the deque
      deque.add("A");
      deque.add("B");
      deque.add("C");
      deque.add("D");        

      // get the spliterator
      Spliterator<String> spliterator = deque.spliterator();

      // use the spliterator to print each item
      spliterator.forEachRemaining(i -> System.out.println(i));
   }
}

让我们编译并运行上述程序,这将产生以下结果:

A
B
C
D

示例 #3

以下示例演示了使用 Student 对象的 Java ArrayDeque spliterator() 方法。我们创建了一个 Student 对象的 ArrayDeque,添加了一些元素,然后使用 spliterator() 方法创建 Spliterator。然后使用迭代器遍历项目并打印它们。

package com.tutorialspoint;

import java.util.ArrayDeque;
import java.util.Spliterator;

public class ArrayDequeDemo {
   public static void main(String[] args) {
      
      // create an empty array deque
      ArrayDeque<Student> deque = new ArrayDeque<>();

      // use add() method to add elements in the deque
      deque.add(new Student(1, "Julie"));
      deque.add(new Student(2, "Robert"));
      deque.add(new Student(3, "Adam"));       

      // get the spliterator
      Spliterator<Student> spliterator = deque.spliterator();

      // use the spliterator to print each item
      spliterator.forEachRemaining(i -> System.out.println(i));
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

让我们编译并运行上述程序,这将产生以下结果:

[ 1, Julie ]
[ 2, Robert ]
[ 3, Adam ]
java_util_arraydeque.htm
广告