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 :
- Using constructor.
- Using add() method by iterating over each element and adding it into the HashSet.
- Using addAll() method that adds all the elements in one go into the HashSet.
- 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( "competitive 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); } } } |
FANG data structure Interviews competitive programming
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( "competitive 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); } } } |
FANG data structure Interviews competitive programming
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( "competitive 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); } } } |
FANG data structure Interviews competitive programming
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( "competitive 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); } } } |
FANG data structure Interviews competitive programming