Java PriorityQueue toArray()方法及示例

PriorityQueue类toArray()方法

语法:

    public Object[] toArray();
    public Type[] toArray(Type[] ty);
  • toArray()方法在java.util包中可用。

  • toArray()方法用于返回一个对象数组(Object []),该对象数组包含此PriorityQueue中的所有对象。

  • toArray(Type [] ty)方法用于返回与包含此PriorityQueue中所有对象的参数类型相同的数组。

  • 这些方法在返回数组时可能会引发异常。
    NullPointerException:当给定参数为null时,可能引发此异常。

  • 这些是非静态方法,可通过类对象进行访问,如果尝试使用类名访问这些方法,则也会收到错误消息。

参数:

  • 在第一种情况下,toArray(),它不接受任何参数。

  • 在第一种情况下,toArray(Type [] ty),Type [] ty –表示队列中已排序对象的数组。

返回值:

在第一种情况下,方法的返回类型为Object [],–它返回一个在此PriorityQueue中充满元素的对象数组。

在第二种情况下,该方法的返回类型为Type [],–它返回与参数类型数组相同的数组。

示例

//Java程序演示示例 
//的toArray()PriorityQueue中的方法

import java.util.*;

public class ToArrayOfPriorityQueue {
    public static void main(String args[]) {
        //实例化PriorityQueue-
        PriorityQueue < String > pq = new PriorityQueue < String > (10);
        String[] s_arr1 = new String[5];

        //通过使用add()方法添加
        //给定元素优先
        //队列
        pq.add("C");
        pq.add("C++");
        pq.add("JAVA");
        pq.add("PHP");
        pq.add("ANDROID");

        //显示PriorityQueue-
        System.out.println("PriorityQueue: " + pq);

        //通过使用toArray()方法是
        //将给定的对象转换为
        //对象数组
        Object[] o_arr = pq.toArray();

        System.out.println("pq.toArray(): ");
        for (int i = 0; i < o_arr.length; ++i)
            System.out.println(o_arr[i].toString());

        System.out.println();

        //通过使用toArray(arr)方法是
        //包含所有优先级队列
        //元素

        String[] s_arr2 = pq.toArray(s_arr1);
        System.out.println("pq.toArray(s_arr1): ");

        for (int i = 0; i < s_arr2.length; ++i)
            System.out.println(s_arr2[i]);
    }
}

输出结果

PriorityQueue: [ANDROID, C, JAVA, PHP, C++]
pq.toArray(): 
ANDROID
C
JAVA
PHP
C++

pq.toArray(s_arr1): 
ANDROID
C
JAVA
PHP
C++