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.