Java PriorityQueue spliterator() 方法



描述

Java PriorityQueue spliterator() 方法為該佇列中的元素建立一個延遲繫結且快速失敗的 Spliterator。延遲繫結意味著 spliterator 在遍歷時繫結到元素源,而不是在建立時。Spliterator 是一個更好的迭代器,在遍歷期間提供了更多對專案的控制。

宣告

以下是java.util.PriorityQueue.spliterator() 方法的宣告

public Spliterator<E> spliterator()

引數

返回值

此方法返回此佇列中元素上的 Spliterator。

異常

獲取 Spliterator() 以迭代 PriorityQueue 中的整數示例

以下示例展示了使用 Java PriorityQueue spliterator() 方法與整數的用法。我們建立了一個整數的 PriorityQueue,添加了一些元素,然後使用 spliterator() 方法建立 Spliterator。然後使用迭代器遍歷專案並列印它們。

package com.tutorialspoint;

import java.util.PriorityQueue;
import java.util.Spliterator;

public class PriorityQueueDemo {
   public static void main(String[] args) {
      
      // create an empty priority queue
      PriorityQueue<Integer> queue = new PriorityQueue<>();

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

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

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

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

18
20
25
30

獲取 Spliterator() 以迭代 PriorityQueue 中的字串示例

以下示例展示了使用 Java PriorityQueue spliterator() 方法與字串的用法。我們建立了一個字串的 PriorityQueue,添加了一些元素,然後使用 spliterator() 方法建立 Spliterator。然後使用迭代器遍歷專案並列印它們。

package com.tutorialspoint;

import java.util.PriorityQueue;
import java.util.Spliterator;

public class PriorityQueueDemo {
   public static void main(String[] args) {
      
      // create an empty priority queue
      PriorityQueue<String> queue = new PriorityQueue<>();

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

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

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

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

A
B
C
D

獲取 Spliterator() 以迭代 PriorityQueue 中的物件示例

以下示例展示了使用 Java PriorityQueue spliterator() 方法與 Student 物件的用法。我們建立了一個 Student 物件的 PriorityQueue,添加了一些元素,然後使用 spliterator() 方法建立 Spliterator。然後使用迭代器遍歷專案並列印它們。

package com.tutorialspoint;

import java.util.PriorityQueue;
import java.util.Spliterator;

public class PriorityQueueDemo {
   public static void main(String[] args) {
      
      // create an empty priority queue
      PriorityQueue<Student> queue = new PriorityQueue<>();

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

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

      // use the spliterator to print each item
      spliterator.forEachRemaining(i -> System.out.println(i));
   }
}
class Student implements Comparable<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);
   }

   @Override
   public int compareTo(Student student) {
      return this.rollNo - student.rollNo;
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

[ 1, Julie ]
[ 2, Robert ]
[ 3, Adam ]
java_util_priorityqueue.htm
廣告