Skip to content
Related Articles

Related Articles

How to Convert ArrayList to HashSet in Java?
  • Last Updated : 17 Dec, 2020

ArrayList: In Java, ArrayList can have duplicates as well as maintains insertion order.

HashSet: HashSet is the implementation class of Set. It does not allow duplicates and uses Hashtable internally.

There are four ways to convert ArrayList to HashSet :

  1. Using constructor.
  2. Using add() method by iterating over each element and adding it into the HashSet.
  3. Using addAll() method that adds all the elements in one go into the HashSet.
  4. Using stream

Method 1: Using constructor

In this example, we will create an ArrayList object and pass it into the constructor of HashSet. It is the simplest method to convert into HashSet.       



Java




// Java program to convert ArrayList
// to HashSet using constructor
  
import java.util.HashSet;
import java.util.ArrayList;
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        
        // adding elements to ArrayList object
        ArrayList<String> gfg = new ArrayList<>();
         
  
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // pass ArrayList object into the HashSet object
        // constructor
        HashSet<String> hashSet = new HashSet<>(gfg);
  
        // printing every element in Set
  
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Output
FANG
data structure
competitve programming
Interviews

Method 2: Using add() method:

In this, we will iterate over Arraylist and add every element in HashSet.

Java




// Java program to convert ArrayList
// to HashSet using add() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> gfg = new ArrayList<>();
        
        // adding element to ArrayList
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
          // adding each Arraylist element inside the HashSet
        HashSet<String> hashSet = new HashSet<>();
        
        // printing each element
        gfg.forEach(value -> { hashSet.add(value); });
          
        
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Output
FANG
data structure
competitve programming
Interviews

Method 3: Using addAll() method

In this example, we will simply add the complete ArrayList object using addALL() method in the HashSet.

Java




// Java program to convert ArrayList
// to HashSet using addAll() method
  
import java.io.*;
import java.util.ArrayList;
import java.util.HashSet;
class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> gfg = new ArrayList<>();
  
        // adding element into ArrayList object
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // adding ArrayList to hashset using addAll() method
        HashSet<String> hashSet = new HashSet<>();
        hashSet.addAll(gfg);
  
        // printing each element of hashset
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Output
FANG
data structure
competitve programming
Interviews

Method 4: Using Streams.

In this approach we will use streams to iterate over each ArrayList element and then add each item into a set using the collect method. Streams are part of java 8

Java




// Java program to convert ArrayList
// to HashSet using streams
  
import java.io.*;
import java.util.ArrayList;
import java.util.Set;
import java.util.HashSet;
import java.util.stream.*;
  
class GFG {
    public static void main(String[] args)
    {
        ArrayList<String> gfg = new ArrayList<>();
        gfg.add("data structure");
        gfg.add("competitve programming");
        gfg.add("Interviews");
        gfg.add("FANG");
        gfg.add("FANG");
  
        // using stream to convert the ArrayList into set
        // then typecast into HashSet<String>
        HashSet<String> hashSet
            = (HashSet<String>)gfg.stream().collect(
                Collectors.toSet());
  
        // printing values of the hashSet
        for (String value : hashSet) {
            System.out.println(value);
        }
    }
}
Output
FANG
data structure
competitve programming
Interviews

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :