1. Overview
In this article, You're going to learnhow to convert ArrayList to String[] Array in Java.ArrayList is used to store the List of String using thetoArray() and Stream API toArray() method.
2. ArrayList to String Without Using API Methods
This is a simple approach byrunning afor loop from index 0 to the last index of the ArrayList and next Create a new String with the size of ArrayList size.
Finally, assign each index value from ArrayList to String array at the same index.
Look at the below example program. Read the comments given in the program
package com.javaprogramto.java8.arraylist.toarray;import java.util.ArrayList;import java.util.List;public class NormalApproach { public static void main(String[] args) { // Created a List with type String List<String> listOfStrings = new ArrayList<>(); // Added 5 string values to ArrayList listOfStrings.add("String One"); listOfStrings.add("String Two"); listOfStrings.add("String Three"); listOfStrings.add("String Four"); listOfStrings.add("String Five"); // Created string array with the size of List String[] stringArray = new String[listOfStrings.size()]; // Adding list values into ArrayList for(int i = 0; i < listOfStrings.size(); i++) { stringArray[i] = listOfStrings.get(i); } // Printing the values of Array. for (int i = 0; i < stringArray.length; i++) { System.out.println("String value at index "+i+" is "+stringArray[i]); } }}Output:String value at index 0 is String OneString value at index 1 is String TwoString value at index 2 is String ThreeString value at index 3 is String FourString value at index 4 is String Five
3. Using List.toArray() Method
List api has abuiltin method to covert List<T> to Array<T>[] array, In our example, T is the type of String. So, When List.toArray() method is called it converts ArrayList to String array.
package com.javaprogramto.java8.arraylist.toarray;import java.util.ArrayList;import java.util.List;public class ListToArrayExample { public static void main(String[] args) { // Created a List with type String List<String> listOfStrings = new ArrayList<>(); // Added 5 string values to ArrayList listOfStrings.add("String One"); listOfStrings.add("String Two"); listOfStrings.add("String Three"); listOfStrings.add("String Four"); listOfStrings.add("String Five"); // Created string array with the size of List and calling toArray() method String[] stringArray = listOfStrings.toArray(new String[listOfStrings.size()]); // Printing the values of Array. for (int i = 0; i < stringArray.length; i++) { System.out.println("String value at index "+i+" is "+stringArray[i]); } }}Output:String value at index 0 is String OneString value at index 1 is String TwoString value at index 2 is String ThreeString value at index 3 is String FourString value at index 4 is String Five
4. Using Java 8 Stream.toArray() Method
Java 8 Stream API is added with atoArray() method which takesIntFunction as aFunctional Interface argument andreturns the array with the type of value in the List.
import java.util.ArrayList;import java.util.List;public class StreamToArrayExample { public static void main(String[] args) { // Created a List with type String List<String> listOfStrings = new ArrayList<>(); // Added 5 string values to ArrayList listOfStrings.add("String One"); listOfStrings.add("String Two"); listOfStrings.add("String Three"); listOfStrings.add("String Four"); listOfStrings.add("String Five"); // Using Stream api toArray() method and passing the String array object with method reference. String[] stringArray = listOfStrings.stream().toArray(String[]::new); // Printing the values of Array. for (int i = 0; i < stringArray.length; i++) { System.out.println("String value at index "+i+" is "+stringArray[i]); } }}Output:This program also generates the same output as used List.toArray() and custom logic.
String value at index 0 is String OneString value at index 1 is String TwoString value at index 2 is String ThreeString value at index 3 is String FourString value at index 4 is String Five
5. Using Arrays.toArray() and Arrays.copyof() Methods
Another way to convert List to String with Arrays.copyof() method.
ArrayList<String> arrayList = new ArrayList<String>();Object[] objectList = arrayList.toArray();String[] stringArray = Arrays.copyOf(objectList,objectList.length,String[].class);6. Conclusion
In this article, You've learned about different ways to do the conversion from ArrayList to String[] Array using java normal and Stream API methods.
As usual, all programs are posted over GitHub

No comments:
Post a Comment
Please do not add any spam links in the comments section.