Given a Linked List in Java, the task is to convert this LinkedList to Array. Examples:
Input: LinkedList: ['G', 'e', 'e', 'k', 's'] Output: Array: ['G', 'e', 'e', 'k', 's'] Input: LinkedList: [1, 2, 3, 4, 5] Output: Array: [1, 2, 3, 4, 5]
Approach:
- Get the LinkedList
- Convert the LinkedList to Object array using toArray() method.
- Convert the Object array to desired type array using Arrays.copyOf() method.
- Return the print the Array
Below is the implementation of the above approach:Â
Java
// Java program to convert// LinkedList to ArrayÂ
import java.util.*;Â
public class GFG {Â
    // Function to convert LinkedList to Array    public static <T> Object[] convertLinkedListToArray(LinkedList<T> linkedList)    {Â
        // Converting LinkedList to Array        Object[] array = linkedList.toArray();Â
        return array;    }Â
    public static void main(String args[])    {        // Creating linked list        LinkedList<String>            linkedList = new LinkedList<String>();Â
        // Adding elements to the linked list        linkedList.add("G");        linkedList.add("e");        linkedList.add("e");        linkedList.add("k");        linkedList.add("s");Â
        // Print the LinkedList        System.out.println("Linked list: "                        + linkedList);Â
        // Converting LinkedList to Object Array        Object[] objArray = convertLinkedListToArray(linkedList);Â
        // Convert Object[] to String[]        String[] array = Arrays.copyOf(objArray,                                    objArray.length,                                    String[].class);        // Print the String Array        System.out.println("Array: "                        + Arrays.toString(array));    }} |
Linked list: [G, e, e, k, s] Array: [G, e, e, k, s]
Time complexity :Â
Converting an Linkedlist to an Array takes O(n) time. Every element must be copied. Inserting or removing an element takes O(m) amortized time, where m is the number of elements following the insertion/removal index.
