Convert List to Array in Java
Last Updated : 17 Jul, 2024
The List interface provides a way to store the ordered collection. It is a child interface of Collection. It is an ordered collection of objects where duplicate values can be stored. Since List preserves the insertion order, it allows positional access and insertion of elements. Now here we are given a List be it any LinkedList or ArrayList of strings, our motive is to convert this list to an array of strings in Java using different methods.
Methods to Convert List to Array in Java
- Using get() method
- Using toArray() method
- Using Stream introduced in Java 8
Method 1: Using get() method
We can use the below list method to get all elements one by one and insert them into an array.
Return Type: The element at the specified index in the list.
Syntax:
public E get(int index)
Example:
Java // Java program to Convert a List to an Array // Using get() method in a loop // Importing required classes import java.io.*; import java.util.LinkedList; import java.util.List; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating a LinkedList of string type by // declaring object of List List<String> list = new LinkedList<String>(); // Adding custom element to LinkedList // using add() method list.add("Geeks"); list.add("for"); list.add("Geeks"); list.add("Practice"); // Storing it inside array of strings String[] arr = new String[list.size()]; // Converting ArrayList to Array // using get() method for (int i = 0; i < list.size(); i++) arr[i] = list.get(i); // Printing elements of array on console for (String x : arr) System.out.print(x + " "); } }
OutputGeeks for Geeks Practice
Explanation of the Program:
- This Java program demonstrates how to convert a LinkedList of strings to an array using the
get()
method in a loop. - It creates a LinkedList, adds elements to it, then iterates through the list to copy each element into an array.
- Finally, it prints the array elements to the console.
Time and Space complexities:
- Time Complexity: O(n), where n is the size of the list.
- Space Complexity: O(n), where n is the size of the list.
The toArray() method without any arguments returns an array containing all of the elements in the list in the proper sequence . The runtime type of the returned array is Object[].
Syntax:
Without Arguments:
public Object[] toArray()
With Array Argument:
public <T> T[] toArray(T[] a)
Example:
Java // Java Program to Convert a List to an array // using toArray() Within a loop // Importing utility classes import java.util.*; // Main class public class GFG { // Main driver method public static void main(String[] args) { // Creating an empty LinkedList of string type // by declaring object of List List<String> list = new LinkedList<String>(); // Adding elements to above LinkedList // using add() method list.add("Geeks"); list.add("for"); list.add("Geeks"); list.add("Practice"); // Converting List to array // using toArray() method String[] arr = list.toArray(new String[0]); // Printing elements of array // using for-each loop for (String x : arr) System.out.print(x + " "); } }
OutputGeeks for Geeks Practice
Explanation of the Program:
- This Java program illustrates converting a LinkedList of strings to an array using the
toArray()
method. - It creates a LinkedList, adds elements to it, and then converts the list to an array with
toArray(new String[0])
. - Finally, it prints the array elements using a for-each loop.
Time and Space complexities:
- Time Complexity: O(n), where n is the size of the list.
- Space Complexity: O(n), where n is the size of the list.
The Streams allow functional-style operations on sequences of the elements. The toArray() method of the Stream interface can be used to convert the elements of the stream into an array. The Stream.toArray(IntFunction<A[]> generator) method returns an array containing the elements of this stream.
Syntax:
public <A> A[] toArray(IntFunction<A[]> generator)
Example:
Java // Java Program to Demonstrate conversion of List to Array // Using stream // Importing utility classes import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Creating an empty LinkedList of string type List<String> list = new LinkedList<String>(); // Adding elements to above LinkedList // using add() method list.add("Geeks"); list.add("for"); list.add("Geeks"); list.add("Practice"); // Storing size of List int n = list.size(); // Converting List to array via scope resolution // operator using streams String[] arr = list.stream().toArray(String[] ::new); // Printing elements of array // using enhanced for loop for (String x : arr) System.out.print(x + " "); } }
OutputGeeks for Geeks Practice
Explanation of the Program:
- This Java program demonstrates converting a LinkedList of strings to an array using streams.
- It creates a LinkedList, adds elements, and converts the list to an array with
list.stream().toArray(String[]::new)
. - Finally, it prints the array elements using an enhanced for loop.
Time and Space complexities:
- Time Complexity: O(n), where n is the size of the list.
- Space Complexity: O(n), where n is the size of the list.
Tip: We can convert the array back to the list via asList() method.
Related Articles:
Similar Reads
How to convert LinkedList to Array in Java? 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 LinkedListConvert the LinkedList to Object
2 min read
Convert Vector to ArrayList in Java There are multiple ways to convert vector to ArrayList, using passing the Vector in ArrayList constructor and by using simple vector traversal and adding values to ArrayList. Approach 1: Create a Vector.Add some values in Vector.Create a new ArrayList.Traverse vector from the left side to the right
3 min read
How to Convert Vector to Array in Java? As we all know an array is a group of liked-typed variables that are referred to by a common name while on the other hand vectors basically fall in legacy classes but now it is fully compatible with collections. It is found in java.util package and implement the List interface which gives a superior
3 min read
Set to Array in Java Given a set (HashSet or TreeSet) of strings in Java, convert it into an array of strings. Input : Set hash_Set = new HashSet(); hash_Set.add("Geeks"); hash_Set.add("For"); Output : String arr[] = {"Geeks", "for"} Method 1 (Simple) We simply create an empty array. We traverse the given set and one by
3 min read
Array to Stream in Java Prerequisite : Stream In Java Using Arrays.stream() : Syntax : public static <T> Stream<T> getStream(T[] arr) { return Arrays.stream(arr); } where, T represents generic type. Example 1 : Arrays.stream() to convert string array to stream. Java // Java code for converting string array // t
3 min read