Java ConcurrentLinkedQueue toArray()方法

Java ConcurrentLinkedQueue toArray()方法

  1. 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<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");
        }
    }
}

输出:

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

输出:

The ConcurrentLinkedQueue: [Welcome, To, Jungle]
The array is:
Welcome
To
Jungle
  1. toArray(T[] a) : ConcurrentLinkedQueue的toArray(T[] a)方法用于一个包含与该ConcurrentLinkedQueue相同元素的数组,并按适当顺序排列。这个方法与toArray()的区别只有一个条件。如果ConcurrentLinkedQueue的大小小于或等于传递的数组,返回的数组类型与参数中传递的数组相同。否则,将分配一个新的数组,其类型与指定的数组相同,数组的大小等于该队列的大小。这个方法在数组和集合之间起到了桥梁作用。

语法:

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

参数:该方法以array为参数,如果它足够大的话,队列的所有元素将被复制到其中。否则,一个新的相同运行时类型的数组将被分配到此。

返回:该方法返回数组,其中包含类似于ConcurrentLinkedQueue的元素。

异常:该方法抛出以下异常。

  • ArrayStoreException 。当传递的数组的类型与ConcurrentLinkedQueue的元素类型不同。
  • NullPointerException 。如果传递的数组是空的。

下面的程序说明了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<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 + " ");
        }
    }
}

输出:

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

输出:

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

输出:

Exception: java.lang.NullPointerException

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程