📌  相关文章
📜  Java中的 ConcurrentLinkedDeque toArray() 方法及示例

📅  最后修改于: 2022-05-13 01:55:11.595000             🧑  作者: Mango

Java中的 ConcurrentLinkedDeque toArray() 方法及示例

  • toArray()

    Java.util.concurrent.ConcurrentLinkedDeque.toArray()方法返回一个数组,该数组以正确的顺序(即从第一个到最后一个)包含双端队列中的所有元素。当创建一个新数组时,返回的数组将是安全的(因此分配了新的内存)。因此调用者可以自由地修改数组。它充当基于数组和基于集合的 API 之间的桥梁。

    句法

    public Object[] toArray()

    参数:不接受任何参数。

    返回值:它返回一个包含双端队列中所有元素的数组。

    下面的示例说明了 ConcurrentLinkedDeque.toArray() 方法:

    示例 1:

    // Java Program Demonstrate toArray()
    // method of ConcurrentLinkedDeque
      
    import java.util.concurrent.*;
    import java.util.*;
      
    public class GFG {
        public static void main(String[] args)
            throws IllegalStateException
        {
      
            // create object of ConcurrentLinkedDeque
            ConcurrentLinkedDeque deque
                = new ConcurrentLinkedDeque();
      
            // Add numbers to end of ConcurrentLinkedDeque
            deque.add(7855642);
            deque.add(35658786);
            deque.add(5278367);
            deque.add(74381793);
      
            System.out.println("ConcurrentLinkedDeque: "
                               + deque);
      
            Object[] a = deque.toArray();
            System.out.println("Returned Array: "
                               + Arrays.toString(a));
        }
    }
    
    输出:
    ConcurrentLinkedDeque: [7855642, 35658786, 5278367, 74381793]
    Returned Array: [7855642, 35658786, 5278367, 74381793]
    
  • toArray(T[])

    Java中ConcurrentLinkedDeque类toArray(arr[])方法方法用于组成与ConcurrentLinkedDeque相同元素的数组。它以正确的顺序返回一个包含此 ConcurrentLinkedDeque 中所有元素的数组;返回数组的运行时类型是指定数组的类型。如果 ConcurrentLinkedDeque 适合指定的数组,则在其中返回。否则,将使用指定数组的运行时类型和此 ConcurrentLinkedDeque 的大小分配一个新数组。
    如果 ConcurrentLinkedDeque 适合指定的数组并有剩余空间(即,数组的元素多于 ConcurrentLinkedDeque),则数组中紧跟 ConcurrentLinkedDeque 末尾的元素为双端队列。 (仅当调用者知道 ConcurrentLinkedDeque 不包含任何空元素时,这对确定 ConcurrentLinkedDeque 的长度很有用。)

    句法:

    public  T[] toArray(T[] a)

    参数:该方法接受一个参数arr[] ,如果它足够大,则该参数是要存储 ConcurrentLinkedDeque 的元素的数组;否则,将为此目的分配相同运行时类型的新数组。

    返回值:该方法返回一个包含与 ConcurrentLinkedDeque 类似的元素的数组。

    异常:该方法可能会抛出两种类型的异常:

    • ArrayStoreException :当提到的数组是不同的类型并且无法与 ConcurrentLinkedDeque 中提到的元素进行比较时。
    • NullPointerException :如果数组为 Null,则抛出此异常。

    下面的程序说明了 ConcurrentLinkedDeque.toArray(arr[]) 方法的工作。

    程序 1:当数组大小为 ConcurrentLinkedDeque 时

    // Java code to illustrate toArray(arr[])
      
    import java.util.concurrent.*;
    import java.util.*;
      
    public class ConcurrentLinkedDequeDemo {
        public static void main(String args[])
        {
            // Creating an empty ConcurrentLinkedDeque
            ConcurrentLinkedDeque deque
                = new ConcurrentLinkedDeque();
      
            // Use add() method to add
            // elements into the ConcurrentLinkedDeque
            deque.add("Welcome");
            deque.add("To");
            deque.add("Geeks");
            deque.add("For");
            deque.add("Geeks");
      
            // Displaying the ConcurrentLinkedDeque
            System.out.println("The ConcurrentLinkedDeque: "
                               + deque);
      
            // Creating the array and using toArray()
            String[] arr = new String[5];
            arr = deque.toArray(arr);
      
            // Displaying arr
            System.out.println("Returned Array: "
                               + Arrays.toString(arr));
        }
    }
    
    输出:
    The ConcurrentLinkedDeque: [Welcome, To, Geeks, For, Geeks]
    Returned Array: [Welcome, To, Geeks, For, Geeks]