Convert Set of String to Array of String in Java Last Updated : 11 Dec, 2018 Comments Improve Suggest changes Like Article Like Report Given a Set of Strings, the task is to convert the Set into an Array of Strings in Java. Examples: Input: Set<String>: ["ForGeeks", "A Computer Portal", "Geeks"] Output: String[]: ["ForGeeks", "A Computer Portal", "Geeks"] Input: Set<String>: ["G", "e", "k", "s"] Output: String[]: ["G", "e", "k", "s"] Method 1: Naive Method. Get the Set of Strings. Create an empty Array of String of size as that of the Set of String. Using advanced for loop, copy each element of the Set of String into the Array of String. Return or print the Array of String. Below is the implementation of the above approach: Java // Java program to convert // Set of Strings to Array of Strings import java.util.Arrays; import java.util.Set; import java.util.HashSet; class GFG { // Function to convert Set<String> to String[] public static String[] convert(Set<String> setOfString) { // Create String[] of size of setOfString String[] arrayOfString = new String[setOfString.size()]; // Copy elements from set to string array // using advanced for loop int index = 0; for (String str : setOfString) arrayOfString[index++] = str; // return the formed String[] return arrayOfString; } public static void main(String[] args) { // Get the Set of String Set<String> setOfString = new HashSet<>( Arrays.asList("Geeks", "ForGeeks", "A Computer Portal")); // Print the setOfString System.out.println("Set of String: " + setOfString); // Convert Set to String array String[] arrayOfString = convert(setOfString); // Print the arrayOfString System.out.println("Array of String: " + Arrays.toString(arrayOfString)); } } Output: Set of String: [ForGeeks, A Computer Portal, Geeks] Array of String: [ForGeeks, A Computer Portal, Geeks] Method 2: Using Set.toArray() method. Get the Set of Strings. Convert the Set of String to Array of String using Set.toArray() method by passing an empty array of String type. JVM will allocate memory for string array. Return or print the Array of String. Below is the implementation of the above approach: Java // Java program to convert // Set of Strings to Array of Strings import java.util.Arrays; import java.util.Set; import java.util.HashSet; class GFG { // Function to convert Set<String> to String[] public static String[] convert(Set<String> setOfString) { // Create String[] from setOfString String[] arrayOfString = setOfString .toArray(new String[0]); // return the formed String[] return arrayOfString; } public static void main(String[] args) { // Get the Set of String Set<String> setOfString = new HashSet<>( Arrays.asList("Geeks", "ForGeeks", "A Computer Portal")); // Print the setOfString System.out.println("Set of String: " + setOfString); // Convert Set to String array String[] arrayOfString = convert(setOfString); // Print the arrayOfString System.out.println("Array of String: " + Arrays.toString(arrayOfString)); } } Output: Set of String: [ForGeeks, A Computer Portal, Geeks] Array of String: [ForGeeks, A Computer Portal, Geeks] Method 3: Using Arrays.copyOf() method. Get the Set of Strings. Convert the Set of String to Array of String using Arrays.copyOf() method by passing the Set of String, the size of the Set of String, and the desired output type as the String[]. Return or print the Array of String. Below is the implementation of the above approach: Java // Java program to convert // Set of Strings to Array of Strings import java.util.Arrays; import java.util.Set; import java.util.HashSet; class GFG { // Function to convert Set<String> to String[] public static String[] convert(Set<String> setOfString) { // Create String[] from setOfString String[] arrayOfString = Arrays .copyOf( setOfString.toArray(), setOfString.size(), String[].class); // return the formed String[] return arrayOfString; } public static void main(String[] args) { // Get the Set of String Set<String> setOfString = new HashSet<>( Arrays.asList("Geeks", "ForGeeks", "A Computer Portal")); // Print the setOfString System.out.println("Set of String: " + setOfString); // Convert Set to String array String[] arrayOfString = convert(setOfString); // Print the arrayOfString System.out.println("Array of String: " + Arrays.toString(arrayOfString)); } } Output: Set of String: [ForGeeks, A Computer Portal, Geeks] Array of String: [ForGeeks, A Computer Portal, Geeks] Method 4: Using System.arraycopy() method. Get the Set of Strings. Convert the Set of String to Array of String using System.arraycopy() method. Return or print the Array of String. Below is the implementation of the above approach: Java // Java program to convert // Set of Strings to Array of Strings import java.util.Arrays; import java.util.Set; import java.util.HashSet; class GFG { // Function to convert Set<String> to String[] public static String[] convert(Set<String> setOfString) { // Create String[] of size of setOfString String[] arrayOfString = new String[setOfString.size()]; // Convert setOfString to String[] System.arraycopy( // source setOfString.toArray(), // from index to be copied from Source 0, // Destination arrayOfString, // From index where to be copied in Destination 0, // Number of elements to be copied setOfString.size()); // return the formed String[] return arrayOfString; } public static void main(String[] args) { // Get the Set of String Set<String> setOfString = new HashSet<>( Arrays.asList("Geeks", "ForGeeks", "A Computer Portal")); // Print the setOfString System.out.println("Set of String: " + setOfString); // Convert Set to String array String[] arrayOfString = convert(setOfString); // Print the arrayOfString System.out.println("Array of String: " + Arrays.toString(arrayOfString)); } } Output: Set of String: [ForGeeks, A Computer Portal, Geeks] Array of String: [ForGeeks, A Computer Portal, Geeks] Method 5: Using Java 8 Streams. Get the Set of Strings. Convert the Set of String to Stream using stream() method. Convert the Stream to String[] using toArray() method. Return or print the Array of String. Below is the implementation of the above approach: Java // Java program to convert // Set of Strings to Array of Strings import java.util.Arrays; import java.util.Set; import java.util.HashSet; class GFG { // Function to convert Set<String> to String[] public static String[] convert(Set<String> setOfString) { // Create String[] from setOfString String[] arrayOfString = setOfString // Convert Set of String // to Stream<String> .stream() // Convert Stream<String> // to String[] .toArray(String[] ::new); // return the formed String[] return arrayOfString; } public static void main(String[] args) { // Get the Set of String Set<String> setOfString = new HashSet<>( Arrays.asList("Geeks", "ForGeeks", "A Computer Portal")); // Print the setOfString System.out.println("Set of String: " + setOfString); // Convert Set to String array String[] arrayOfString = convert(setOfString); // Print the arrayOfString System.out.println("Array of String: " + Arrays.toString(arrayOfString)); } } Output: Set of String: [ForGeeks, A Computer Portal, Geeks] Array of String: [ForGeeks, A Computer Portal, Geeks] Comment More infoAdvertise with us Next Article Convert Set of String to Array of String in Java R RishabhPrabhu Follow Improve Article Tags : Java Practice Tags : Java Similar Reads Set in Java The Set Interface is present in java.util package and extends the Collection interface. It is an unordered collection of objects in which duplicate values cannot be stored. It is an interface that implements the mathematical set. This interface adds a feature that restricts the insertion of duplicat 14 min read AbstractSet Class in Java In Java, the AbstractSet class is part of the Java Collections Framework. It provides a Skeleton implementation of the set interface, which is a collection that does not allow duplicate elements. This class is abstract, meaning it cannot be instantiated directly, but it can be extended to create a c 8 min read EnumSet in Java In Java, the EnumSet is a specialized set implementation for use with enum types. It is a part of java.util package and provides a highly optimized set for storing enum constants. The EnumSet is one of the specialized implementations of the Set interface for use with the enumeration type.It extends 9 min read Java HashSet HashSet in Java implements the Set interface of Collections Framework. It is used to store the unique elements and it doesn't maintain any specific order of elements. Can store the Null values.Uses HashMap (implementation of hash table data structure) internally.Also implements Serializable and Clon 12 min read TreeSet in Java TreeSet is one of the most important implementations of the SortedSet interface in Java that uses a Tree(red - black tree) for storage. The ordering of the elements is maintained by a set using their natural ordering whether or not an explicit comparator is provided. This must be consistent with equ 13 min read ConcurrentSkipListSet in Java In Java, the ConcurrentSkipListSet is the part of the java.util.concurrent package and provides a scalable, thread-safe alternative to TreeSet. It is a sorted set that lets multiple threads safely access and modify the set at the same time without causing issues.It is thread-safe.Elements are in sor 7 min read CopyOnWriteArraySet in Java In Java, the CopyOnWriteArraySet is the part of the java.util.concurrent package and is used to handle thread-safe operations in multi-threaded environments. It is ideal when the set is frequently read but infrequently modified. The set ensures safe access for multiple threads, as it creates a new c 6 min read Java LinkedHashSet LinkedHashSet in Java implements the Set interface of the Collection Framework. It combines the functionality of a HashSet with a LinkedList to maintain the insertion order of elements. Stores unique elements only.Maintains insertion order.Provides faster iteration compared to HashSet.Allows null el 8 min read Convert HashSet to TreeSet in Java Hashset: Hashset in Java is generally used for operations like search, insert and delete. It takes constant time for these operations on average. HashSet is faster than TreeSet. HashSet is Implemented using a hash table. TreeSet: TreeSet in Java takes O(log n) for search, insert and delete which is 3 min read Difference and similarities between HashSet, LinkedHashSet and TreeSet in Java In this article, we will learn, the difference between HashSet vs LinkedHashSet and TreeSet And similarities between LinkedHashSet and TreeSet. HashSet, LinkedHashSet, and TreeSet all implement the Set interface. So we have tried to list out the differences and similarities between HashSet, LinkedHa 6 min read Like