Java PriorityQueue toArray() 方法



描述

java PriorityQueue toArray() 方法返回一個數組,其中包含此佇列中所有元素,並按正確的順序排列。PriorityQueue 中元素的順序也在陣列中保持。

宣告

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

public Object[] toArray()

引數

返回值

此方法返回一個包含此佇列中所有元素的陣列。

異常

Java PriorityQueue toArray(T[] a) 方法

描述

Java PriorityQueue toArray(a) 方法返回一個數組,其中包含此佇列中從第一個到最後一個元素的所有元素。它返回指定陣列的返回陣列的執行時型別。如果佇列適合指定的陣列,則返回該陣列。否則,將分配一個具有指定執行時型別和當前佇列大小的新陣列。

宣告

以下是java.util.PriorityQueue.toArray(T[] a) 方法的宣告

public <T> T[] toArray(T[] a)

引數

  • a − 將佇列元素儲存到的陣列

返回值

此方法返回一個包含佇列元素的陣列。

異常

ArrayStoreException − 如果指定陣列的執行時型別不是此佇列中每個元素的執行時型別的超型別。

NullPointerException − 如果指定的陣列為 null。

從整數 PriorityQueue 獲取整數陣列示例

以下示例演示了使用整數的 Java PriorityQueue toArray() 方法。我們正在建立一個整數 PriorityQueue,新增一些元素,然後使用 toArray() 方法建立一個數組。迭代陣列並列印元素。

package com.tutorialspoint;

import java.util.PriorityQueue;

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 array
      Object[] array = queue.toArray();

      for (Object object : array) {
         System.out.println(object);
      }
   }
}

輸出

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

18
20
25
30

從字串 PriorityQueue 獲取字串陣列示例

以下示例演示了使用字串的 Java PriorityQueue toArray() 方法。我們正在建立一個字串 PriorityQueue,新增一些元素,然後使用 toArray() 方法建立一個數組。迭代陣列並列印元素。

package com.tutorialspoint;

import java.util.PriorityQueue;

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 array
      Object[] array = queue.toArray();

      for (Object object : array) {
         System.out.println(object);
      }
   }
}

輸出

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

A
B
C
D

從物件 PriorityQueue 獲取物件陣列示例

以下示例演示了使用 Student 物件的 Java PriorityQueue toArray(T[]) 方法。我們正在建立一個 Student 物件的 PriorityQueue,新增一些元素,然後使用 toArray(T[]) 方法建立一個數組。迭代陣列並列印元素。

package com.tutorialspoint;

import java.util.PriorityQueue;

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 array of Student objects
      Student[] array = queue.toArray(new Student[queue.size()]);

      // print the array elements
      for (Student student : array) {
         System.out.println(student);
      }  
   }
}
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
廣告