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));
}
} |
Output:
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.