Convert HashSet to a ArrayList in Java - GeeksforGeeks

19 Jan, 2022
ArrayList class is a resizable array, present in java.util package. The difference between an array and an ArrayList in Java, is that the size of an array cannot be modified (i.e. if you want to append/add or remove element(s) to/from an array, you have to create a new array. However, elements can be added/appended or removed from an ArrayList without the need to create a new array. 
Hashset class present in java.util package is used to create a collection that uses a hash table for storing data items. HashSet stores the elements by using a hashing mechanism.HashSet contains unique elements only and allows null value. HashSet does not maintain the insertion order and the elements are inserted on the basis of their hashcode. HashSet is the best approach for search operations. 
In order to convert a HashSet to Arraylist, we need is to use ArrayList constructor and pass the HashSet instance as a constructor argument. It will copy all elements from HashSet to the newly created ArrayList.
Java
// Java program to convert HashSet to ArrayListimport java.io.*;import java.util.ArrayList;import java.util.HashSet;class GFG {    public static void main(String[] args)    {         HashSet<String> flower_set = new HashSet<>();         flower_set.add("tulip");        flower_set.add("rose");        flower_set.add("orchid");        flower_set.add("marie-gold");         // Pass hashset to arraylist constructor        ArrayList<String> flower_array            = new ArrayList<>(flower_set);         // all elements from hashset are copied to arraylist        System.out.println(            "Elements of flower Arraylist are :");        System.out.println(flower_array);         // using the get method of Arraylist to get the        // element at index=0        System.out.print("Element at index 0 is : "                         + flower_array.get(0) + " ");    }}
Elements of flower Arraylist are :
[marie-gold, rose, tulip, orchid]
Element at index 0 is : marie-gold
 There is another way to convert the HashSet object into ArrayList is  by using stream api introduced in Java 8. We will use the toList() method of Collectors class to convert the input data to a List but we want it to be an ArrayList so we will typecast it into ArrayList using this (ArrayList<TypeOfObject>) at front.
Java
// Java Program to convert the HashSet to ArrayList// Using Stream Api Java 8 import java.io.*;import java.util.*;import java.util.stream.*;class GFG {    public static void main(String[] args)    {        HashSet<String> flower_set = new HashSet<>();         flower_set.add("tulip");        flower_set.add("rose");        flower_set.add("orchid");        flower_set.add("marie-gold");         // Using stream api        // and typecasting the List object to ArrayList        ArrayList<String> flower_array            = (ArrayList<String>)flower_set.stream()                  .collect(Collectors.toList());         // all elements from hashset are copied to arraylist        System.out.println(            "Elements of flower Arraylist are :");        System.out.println(flower_array);         // using the get method of Arraylist to get the        // element at index=0        System.out.print("Element at index 0 is : "                         + flower_array.get(0) + " ");    }}
Elements of flower Arraylist are :
[marie-gold, rose, tulip, orchid]
Element at index 0 is : marie-gold
rajatagrawal5
sumitgumber28
sagar0719kumar
Java-ArrayList
java-hashset
Picked
Java
Java Programs
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Initialize an ArrayList in Java
Object Oriented Programming (OOPs) Concept in Java
HashMap in Java with Examples
Interfaces in Java
How to iterate any Map in Java
Initializing a List in Java
Convert a String to Character array in Java
Java Programming Examples
Convert Double to Integer in Java
Implementing a Linked List in Java using Class