ConcurrentLinkedDeque toArray() method in Java with Example

  • toArray()

    The Java.util.concurrent.ConcurrentLinkedDeque.toArray() method returns an array containing all the elements in the deque in proper sequence i.e. from first to last. The returned array will be safe as a new array is created (hence new memory is allocated). Thus the caller is free to modify the array. It acts as a bridge between array-based and collection-based APIs.

    Syntax

    public Object[] toArray()

    Parameters:It does not take in any parameter.



    Return Value:It returns an array containing all the elements in the deque.

    Below examples illustrates the ConcurrentLinkedDeque.toArray() method:

    Example 1:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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<Integer> deque
                = new ConcurrentLinkedDeque<Integer>();
      
            // 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));
        }
    }

    chevron_right

    
    

    Output:

    ConcurrentLinkedDeque: [7855642, 35658786, 5278367, 74381793]
    Returned Array: [7855642, 35658786, 5278367, 74381793]
    
  • toArray(T[])

    The toArray(arr[]) method method of ConcurrentLinkedDeque class in Java is used to form an array of the same elements as that of the ConcurrentLinkedDeque. It returns an array containing all of the elements in this ConcurrentLinkedDeque in the correct order; the run-time type of the returned array is that of the specified array. If the ConcurrentLinkedDeque fits in the specified array, it is returned therein. Otherwise, a new array is allocated with the run time type of the specified array and the size of this ConcurrentLinkedDeque.
    If the ConcurrentLinkedDeque fits in the specified array with room to spare (i.e., the array has more elements than the ConcurrentLinkedDeque), the element in the array immediately following the end of the ConcurrentLinkedDeque is deque to null. (This is useful in determining the length of the ConcurrentLinkedDeque only if the caller knows that the ConcurrentLinkedDeque does not contain any null elements.)

    Syntax:

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

    Parameters: The method accepts one parameter arr[] which is the array into which the elements of the ConcurrentLinkedDeque are to be stored, if it is big enough; otherwise, a new array of the same runtime type is allocated for this purpose.

    Return Value: The method returns an array containing the elements similar to the ConcurrentLinkedDeque.

    Exception: The method might throw two types of exception:

    • ArrayStoreException: When the mentioned array is of the different type and is not able to compare with the elements mentioned in the ConcurrentLinkedDeque.
    • NullPointerException: If the array is Null, then this exception is thrown.

    Below program illustrates the working of the ConcurrentLinkedDeque.toArray(arr[]) method.

    Program 1: When array is of the size of ConcurrentLinkedDeque

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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<String> deque
                = new ConcurrentLinkedDeque<String>();
      
            // 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));
        }
    }

    chevron_right

    
    

    Output:

    The ConcurrentLinkedDeque: [Welcome, To, Geeks, For, Geeks]
    Returned Array: [Welcome, To, Geeks, For, Geeks]
    


    My Personal Notes arrow_drop_up

    Check out this Author's contributed articles.

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.