PriorityBlockingQueue toArray() method in Java

toArray()

The toArray method of PriorityBlockingQueue is used to create an array having the same elements as that of this PriorityBlockingQueue, in proper sequence. Actually, this method copies all the element from the PriorityBlockingQueue to a new array. This method behaves as a bridge between array and PriorityBlockingQueue.

Syntax:

public Object[] toArray()

Return Value: This method returns an array which contains the elements of PriorityBlockingQueue.



Below programs illustrate toArray() method of PriorityBlockingQueue class:

Example 1: Program to demonstrate toArray() method on PriorityBlockingQueue to create an array of numbers from a PriorityBlockingQueue which contains numbers.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate toArray()
// method of PriorityBlockingQueue
  
import java.util.concurrent.PriorityBlockingQueue;
public class GFG {
  
    public static void main(String[] args)
    {
        // define capacity of PriorityBlockingQueue
        int capacityOfQueue = 5;
  
        // create object of PriorityBlockingQueue
        PriorityBlockingQueue<Integer> PrioQueue
            = new PriorityBlockingQueue<Integer>(capacityOfQueue);
  
        // Add numbers to PriorityBlockingQueue
        PrioQueue.offer(35658786);
        PrioQueue.offer(5278367);
        PrioQueue.offer(74381793);
        PrioQueue.offer(87625142);
  
        // create an array of elements of PriorityBlockingQueue
        Object[] array = PrioQueue.toArray();
  
        // print elements of array
        System.out.println("Array Contains:");
        for (Object i : array) {
            System.out.print(i + " ");
        }
    }
}

chevron_right


Output:

Array Contains:
5278367 35658786 74381793 87625142

Example 2: Program to demonstrate toArray() method on PriorityBlockingQueue to create an array of Strings from a PriorityBlockingQueue which contains String values.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate toArray()
// method of PriorityBlockingQueue
  
import java.util.concurrent.PriorityBlockingQueue;
import java.util.*;
  
public class GFG {
    public static void main(String[] args)
    {
  
        // define capacity of PriorityBlockingQueue
        int capacityOfQueue = 5;
  
        // create object of PriorityBlockingQueue which contains
        // name of students
        PriorityBlockingQueue<String> names
            = new PriorityBlockingQueue<String>(capacityOfQueue);
  
        // Add names of students of girls college
        names.offer("Joyita");
        names.offer("Bristi");
        names.offer("Riya");
  
        // Create a array by calling toArray() method
        Object[] array = names.toArray();
  
        // Print List of names
        System.out.println("Queue is " + names);
  
        // Print elements of array
        System.out.println("The array created by toArray() is:");
        for (Object i : array) {
            System.out.println(i + " ");
        }
    }
}

chevron_right


Output:

Queue is [Bristi, Joyita, Riya]
The array created by toArray() is:
Bristi 
Joyita 
Riya

toArray(T[] a)

The toArray(T[] a) method of PriorityBlockingQueue is used to return an array containing the same elements as that of this PriorityBlockingQueue, in proper sequence. This method differs from toArray() in only one condition. The type of the returned array is the same as the passed array in the parameter, if the PriorityBlockingQueue size is less than or equal to the passed array. Otherwise, a new array is allocated with the type same as the specified array and size of the array is equal to the size of this queue. This method behaves as a bridge between array and collections.

Syntax:

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

Parameter: This method takes an array as parameter into which all of the elements of the queue are to be copied, if it is big enough. Otherwise, a new array of the same runtime type is allocated to this.

Return Value: This method returns an array containing all of the elements in this queue.

Exception This method throws following exceptions:


  • ArrayStoreException: When the passed array is of the different type from the type of elements of PriorityBlockingQueue.
  • NullPointerException: If the passed array is Null.

Below programs illustrates toArray(T[] a) method of PriorityBlockingQueue class:

Example 1: Program to demonstrate toArray(T[] a) method on PriorityBlockingQueue.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate toArray(T[] a)
// method of PriorityBlockingQueue
  
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
  
public class GFG {
  
    public static void main(String[] args)
        throws InterruptedException
    {
        // define capacity of PriorityBlockingQueue
        int capacityOfQueue = 3;
  
        // create object of PriorityBlockingQueue
        PriorityBlockingQueue<String> PrioQueue
            = new PriorityBlockingQueue<String>(capacityOfQueue);
  
        // Add names of students of girls college
        PrioQueue.offer("Joyi");
        PrioQueue.offer("Rani");
        PrioQueue.offer("Riya");
  
        // Creating the array
        String[] array = new String[capacityOfQueue];
  
        // Calling toArray(T[] a) method
        Object[] ReturnArray = PrioQueue.toArray(array);
  
        // Print queue
        System.out.println("Queue is " + PrioQueue);
  
        // Print elements of array passed as parameter
        System.out.println();
        System.out.println("The array passed to toArray() is:");
        for (Object i : array) {
            System.out.println(i);
        }
  
        // Print elements of array retuned by method toArray()
        System.out.println();
        System.out.println("The array retuned by toArray() is:");
        for (Object i : ReturnArray) {
            System.out.println(i);
        }
    }
}

chevron_right


Output:

Queue is [Joyi, Rani, Riya]

The array passed to toArray() is:
Joyi
Rani
Riya

The array retuned by toArray() is:
Joyi
Rani
Riya

Example 2: Program to demonstrate exception thrown by toArray(T[] a) method of PriorityBlockingQueue.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program Demonstrate toArray(T[] a)
// method of PriorityBlockingQueue
  
import java.util.concurrent.PriorityBlockingQueue;
import java.util.concurrent.TimeUnit;
  
public class GFG {
  
    public static void main(String[] args)
        throws InterruptedException
    {
        // define capacity of PriorityBlockingQueue
        int capacityOfQueue = 3;
  
        // create object of PriorityBlockingQueue
        PriorityBlockingQueue<String> PrioQueue
            = new PriorityBlockingQueue<String>(capacityOfQueue);
  
        // Add names of students of girls college
        PrioQueue.offer("Joyi");
        PrioQueue.offer("Rani");
        PrioQueue.offer("Riya");
  
        // Creating the array with null value
        String[] array = null;
  
        try {
            // Calling toArray(T[] a) method
            Object[] ReturnArray = PrioQueue.toArray(array);
        }
        catch (Exception e) {
            System.out.println("Exception thrown:" + e);
        }
    }
}

chevron_right


Output:

Exception thrown:java.lang.NullPointerException

Reference:



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.