ConcurrentLinkedQueue toArray() Method in Java
Last Updated :
26 Nov, 2018
Improve
- toArray() : The toArray() method of ConcurrentLinkedQueue is used to returns an array of the same elements as that of the ConcurrentLinkedQueue in proper sequence. Basically, it copies all the element from a ConcurrentLinkedQueue to a new array. This method behaves as a bridge between array and ConcurrentLinkedQueue.
Syntax:
public Object[] toArray()
Returns: The method returns an array containing the elements similar to the ConcurrentLinkedQueue. Below programs illustrate the java.util.concurrent.ConcurrentLinkedQueue.toArray() method. Example 1:Java // Java Program Demonstrate toArray() // method of ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue; public class GFG { public static void main(String[] args) { // create object of ConcurrentLinkedQueue ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>(); // Add element to ConcurrentLinkedQueue queue.add(2300); queue.add(1322); queue.add(8945); queue.add(6512); // print queue details System.out.println("Queue Contains " + queue); // apply toArray() method on queue Object[] array = queue.toArray(); // Print elements of array System.out.println("The array contains:"); for (Object i : array) { System.out.print(i + "\t"); } } }
Output:Example 2:Queue Contains [2300, 1322, 8945, 6512] The array contains: 2300 1322 8945 6512
Java // Java Program Demonstrate toArray() // method of ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue; public class GFG { public static void main(String args[]) { // Creating a ConcurrentLinkedQueue ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>(); // elements into the Queue queue.add("Welcome"); queue.add("To"); queue.add("Jungle"); // Displaying the ConcurrentLinkedQueue System.out.println("The ConcurrentLinkedQueue: " + 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]); } }
Output:The ConcurrentLinkedQueue: [Welcome, To, Jungle] The array is: Welcome To Jungle
- toArray(T[] a) : The toArray(T[] a) method of ConcurrentLinkedQueue is used to an array containing the same elements as that of this ConcurrentLinkedQueue 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 ConcurrentLinkedQueue 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 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. Returns: This method returns array containing the elements similar to the ConcurrentLinkedQueue. Exception: This method throws following exceptions:- ArrayStoreException: When the passed array is of the different type from the type of elements of ConcurrentLinkedQueue.
- NullPointerException: If the passed array is Null.
Java // Java Program Demonstrate toArray() // method of ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue; public class GFG { public static void main(String[] args) { // create object of ConcurrentLinkedQueue ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>(); // elements into the Queue queue.add("Welcome"); queue.add("To"); queue.add("Jungle"); // print queue details System.out.println("Queue Contains " + queue); // the array to pass in toArray() // array has size equal to size of ConcurrentLinkedQueue String[] passArray = new String[queue.size()]; // Calling toArray(T[] a) method Object[] array = queue.toArray(passArray); // Print elements of passed array System.out.println("\nThe array passed :"); for (String i : passArray) { System.out.print(i + " "); } System.out.println(); // Print elements of returned array System.out.println("\nThe array returned :"); for (Object i : array) { System.out.print(i + " "); } } }
Output:Example 2: To show ArrayStoreExceptionQueue Contains [Welcome, To, Jungle] The array passed : Welcome To Jungle The array returned : Welcome To Jungle
Java // Java Program Demonstrate toArray() // method of ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue; public class GFG { public static void main(String[] args) { // create object of ConcurrentLinkedQueue ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>(); // Add element to ConcurrentLinkedQueue queue.add(2323); queue.add(2472); queue.add(4235); queue.add(1242); // the array to pass in toArray() // array has size equal to size of ConcurrentLinkedQueue String[] passArray = new String[queue.size()]; // Calling toArray(T[] a) method try { Object[] array = queue.toArray(passArray); } catch (ArrayStoreException e) { System.out.println("Exception: " + e); } } }
Output:Example 2: To show NullPointerExceptionException: java.lang.ArrayStoreException: java.lang.Integer
Java // Java Program Demonstrate toArray() // method of ConcurrentLinkedQueue import java.util.concurrent.ConcurrentLinkedQueue; public class GFG { public static void main(String[] args) { // create object of ConcurrentLinkedQueue ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>(); // Add element to ConcurrentLinkedQueue queue.add(2323); queue.add(2472); queue.add(4235); queue.add(1242); // the array to pass String[] passArray = null; // Calling toArray(T[] a) method try { Object[] array = queue.toArray(passArray); } catch (NullPointerException e) { System.out.println("Exception: " + e); } } }
Output:Exception: java.lang.NullPointerException