📜  Java中的 PriorityQueue toArray() 方法

📅  最后修改于: 2022-05-13 01:54:50.463000             🧑  作者: Mango

Java中的 PriorityQueue toArray() 方法

  1. Java中的Java .util.PriorityQueue.toArray()方法用于形成与优先队列相同元素的数组。基本上,它将优先级队列中的所有元素复制到一个新数组中。

    句法:

    Object[] arr = Priority_Queue.toArray()

    参数:该方法不带任何参数。

    返回值:该方法返回一个包含类似于优先级队列的元素的数组。

    下面的程序说明了Java .util.PriorityQueue.toArray() 方法。
    方案一:

    // Java code to illustrate toArray()
    import java.util.*;
      
    public class PriorityQueueDemo {
        public static void main(String args[])
        {
            // Creating an empty PriorityQueue
            PriorityQueue queue = new PriorityQueue();
      
            // Use add() method to add elements into the Queue
            queue.add("Welcome");
            queue.add("To");
            queue.add("Geeks");
            queue.add("For");
            queue.add("Geeks");
      
            // Displaying the PriorityQueue
            System.out.println("The PriorityQueue: " + queue);
      
            // Creating the array and using toArray()
            Object[] arr = queue.toArray();
      
            System.out.println("The array is:");
            for (int j = 0; j < arr.length; j++)
                System.out.println(arr[j]);
        }
    }
    
    输出:
    The PriorityQueue: [For, Geeks, To, Welcome, Geeks]
    The array is:
    For
    Geeks
    To
    Welcome
    Geeks
    

    方案二:

    // Java code to illustrate toArray()
    import java.util.*;
      
    public class PriorityQueueDemo {
        public static void main(String args[])
        {
            // Creating an empty PriorityQueue
            PriorityQueue queue = new PriorityQueue();
      
            // Use add() method to add elements into the Queue
            queue.add(10);
            queue.add(15);
            queue.add(30);
            queue.add(20);
            queue.add(5);
            queue.add(25);
      
            // Displaying the PriorityQueue
            System.out.println("The PriorityQueue: " + queue);
      
            // Creating the array and using toArray()
            Object[] arr = queue.toArray();
      
            System.out.println("The array is:");
            for (int j = 0; j < arr.length; j++)
                System.out.println(arr[j]);
        }
    }
    
    输出:
    The PriorityQueue: [5, 10, 25, 20, 15, 30]
    The array is:
    5
    10
    25
    20
    15
    30
    
  2. Java中的Java .util.PriorityQueue.toArray(arr[])方法用于形成与优先队列相同元素的数组。基本上,它将优先级队列中的所有元素复制到一个新数组中。它创建了多个数组,这与之前没有参数的方法不同。此方法将所有元素复制到 arr[] 中。
    句法:
    Object[] arr1 = Priority_Queue.toArray(arr[])

    参数:该方法接受一个参数arr[] ,队列的所有元素都将复制到该参数中。

    返回值:该方法返回一个包含类似于优先级队列的元素的数组。

      异常:该方法可能会抛出两种类型的异常:
    • ArrayStoreException:当提到的数组是不同的类型并且无法与队列中提到的元素进行比较时。
    • NullPointerException:如果数组为 Null,则抛出此异常。

    下面的程序说明了Java.util.PriorityQueue.toArray(arr[]) 方法的工作。

    // Java code to illustrate toArray(arr[])
    import java.util.*;
      
    public class PriorityQueueDemo {
        public static void main(String args[])
        {
            // Creating an empty PriorityQueue
            PriorityQueue queue = new PriorityQueue();
      
            // Use add() method to add elements into the Queue
            queue.add("Welcome");
            queue.add("To");
            queue.add("Geeks");
            queue.add("For");
            queue.add("Geeks");
      
            // Displaying the PriorityQueue
            System.out.println("The PriorityQueue: " + queue);
      
            // Creating the array and using toArray()
            String[] arr = new String[5];
            String[] arr1 = queue.toArray(arr);
              
            // Displaying arr
            System.out.println("The arr[] is:");
            for (int j = 0; j < arr.length; j++)
                System.out.println(arr[j]);
              
            // Displaying arr1
            System.out.println();    
            System.out.println("The arr1[] is:");
            for (int i = 0; i < arr1.length; i++)
                System.out.println(arr1[i]);
        }
    }
    
    输出:
    The PriorityQueue: [For, Geeks, To, Welcome, Geeks]
    The arr[] is:
    For
    Geeks
    To
    Welcome
    Geeks
    
    The arr1[] is:
    For
    Geeks
    To
    Welcome
    Geeks