当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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
    
  2. toArray(T [] a):ConcurrentLinkedQueue的toArray(T [] a)方法用于一个数组,该数组包含与此ConcurrentLinkedQueue相同的元素,并且顺序正确。此方法仅在一种情况下与toArray()不同。如果ConcurrentLinkedQueue大小小于或等于传递的数组,则返回的数组的类型与参数中传递的数组的类型相同。否则,将分配一个与指定数组相同类型的新数组,并且该数组的大小等于此队列的大小。此方法充当数组和集合之间的桥梁。

    用法:

    public <T> 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<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
    


相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 ConcurrentLinkedQueue toArray() Method in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。