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 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 + " " );
}
}
} |
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 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 + " " );
}
}
} |
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 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);
}
}
} |
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 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);
}
}
} |
Exception thrown:java.lang.NullPointerException
Reference:
- https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#toArray–
- https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/PriorityBlockingQueue.html#toArray-T:A-