Java中的 ConcurrentLinkedQueue toArray() 方法
- toArray() : ConcurrentLinkedQueue的toArray()方法用于以正确的顺序返回与 ConcurrentLinkedQueue 相同元素的数组。基本上,它将 ConcurrentLinkedQueue 中的所有元素复制到一个新数组中。此方法充当数组和 ConcurrentLinkedQueue 之间的桥梁。
句法:
public Object[] toArray()
返回:该方法返回一个包含类似于 ConcurrentLinkedQueue 的元素的数组。
下面的程序说明了Java.util.concurrent.ConcurrentLinkedQueue.toArray() 方法。
示例 1:
// 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
queue = new ConcurrentLinkedQueue (); // 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"); } } } 输出:Queue Contains [2300, 1322, 8945, 6512] The array contains: 2300 1322 8945 6512
示例 2:
// 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
queue = new ConcurrentLinkedQueue (); // 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]); } } 输出:The ConcurrentLinkedQueue: [Welcome, To, Jungle] The array is: Welcome To Jungle
- toArray(T[] a) : ConcurrentLinkedQueue的toArray(T[] a)方法用于一个数组,该数组包含与此 ConcurrentLinkedQueue 相同元素的数组,并以适当的顺序排列。此方法与 toArray() 仅在一个条件下不同。如果 ConcurrentLinkedQueue 大小小于或等于传递的数组,则返回数组的类型与参数中传递的数组相同。否则,分配一个与指定数组类型相同的新数组,数组的大小等于该队列的大小。此方法充当数组和集合之间的桥梁。
句法:
public
T[] toArray(T[] a) 参数:如果数组足够大,此方法将数组作为参数,队列的所有元素都将复制到该数组中。否则,将为其分配一个相同运行时类型的新数组。
返回:此方法返回包含类似于 ConcurrentLinkedQueue 的元素的数组。
异常:此方法抛出以下异常:
- ArrayStoreException :当传递的数组与 ConcurrentLinkedQueue 的元素类型不同时。
- NullPointerException :如果传递的数组为 Null。
下面的程序说明了Java.util.concurrent.ConcurrentLinkedQueue.toArray(T[] a) 方法。
示例 1:
// 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
queue = new ConcurrentLinkedQueue (); // 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 + " "); } } } 输出:Queue Contains [Welcome, To, Jungle] The array passed : Welcome To Jungle The array returned : Welcome To Jungle
示例 2:显示ArrayStoreException
// 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
queue = new ConcurrentLinkedQueue (); // 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); } } } 输出:Exception: java.lang.ArrayStoreException: java.lang.Integer
示例 2:显示NullPointerException
// 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
queue = new ConcurrentLinkedQueue (); // 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); } } } 输出:Exception: java.lang.NullPointerException