Open In App

PriorityBlockingQueue toArray() method in Java

Improve
Improve
Like Article
Like
Save
Share
Report

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. 

Java




// 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 + " ");
        }
    }
}


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.

Java




// 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 + " ");
        }
    }
}


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. 

Java




// 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 returned by method toArray()
        System.out.println();
        System.out.println("The array returned by toArray() is:");
        for (Object i : ReturnArray) {
            System.out.println(i);
        }
    }
}


Output

Queue is [Joyi, Rani, Riya]

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

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

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

Java




// 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);
        }
    }
}


Output: 

Exception thrown:java.lang.NullPointerException

 

Reference: 

 



Last Updated : 20 Aug, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads