A LinkedList in Java can be converted into an array using the toArray() method. The conversion copies all elements of the linked list into an array while preserving their order.
- toArray() can directly create an Object[] array or a typed array.
- Converting a LinkedList to an array takes O(n) time, where n is the number of elements.
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Create a LinkedList
LinkedList<String> linkedList = new LinkedList<>();
// Add elements to the LinkedList
linkedList.add("Apple");
linkedList.add("Banana");
linkedList.add("Mango");
linkedList.add("Orange");
// Print the LinkedList
System.out.println("LinkedList: " + linkedList);
// Convert LinkedList to String array
String[] array = linkedList.toArray(new String[0]);
// Print the array
System.out.println("Array: "
+ Arrays.toString(array));
}
}
Output
LinkedList: [Apple, Banana, Mango, Orange] Array: [Apple, Banana, Mango, Orange]
Explanation: The toArray(new String[0]) method converts the LinkedList<String> directly into a String[] array. The elements remain in the same order as they were stored in the linked list.
Example: Using toArray() Without Specifying the Type
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Create a LinkedList
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(10);
linkedList.add(20);
linkedList.add(30);
linkedList.add(40);
System.out.println("LinkedList: " + linkedList);
// Convert LinkedList to Object array
Object[] objArray = linkedList.toArray();
// Convert Object[] to Integer[]
Integer[] array = Arrays.copyOf(objArray, objArray.length, Integer[].class);
System.out.println("Array: " + Arrays.toString(array));
}
}
Output
LinkedList: [10, 20, 30, 40] Array: [10, 20, 30, 40]
Explanation: Here, toArray() first converts the LinkedList into an Object[]. The Arrays.copyOf() method is then used to create an Integer[] containing the same elements.