Write a Java program to convert a hash set to a List ArrayList

Java Collection, HashSet Exercises: Convert a hash set to a List/ArrayList

Last update on December 14 2021 06:27:36 (UTC/GMT +8 hours)

Convert HashSet to a ArrayList in Java

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 program to convert HashSet to ArrayList
import 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) + " ");
}
}
Output 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 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) + " ");
}
}
Output Elements of flower Arraylist are : [marie-gold, rose, tulip, orchid] Element at index 0 is : marie-gold

Write a Java program to convert a hash set to a List ArrayList




Article Tags :
Java
Java Programs
Java-ArrayList
java-hashset
Practice Tags :
Java

1. Convert HashSet to ArrayList

To convert a given hashset to an arraylist, all we need is to use arraylist constructor and pass hashset as constructor argument. It will copy all elements from hashset to the newly created arraylist.

import java.util.ArrayList; import java.util.HashSet; public class ArrayListExample { public static void main(String[] args) { HashSet<String> namesSet = new HashSet<>(); namesSet.add("alex"); namesSet.add("brian"); namesSet.add("charles"); namesSet.add("david"); //Pass hashset to arraylist constructor ArrayList<String> namesList = new ArrayList<>(namesSet); //all elements from hashset are copied to arraylist System.out.println(namesList); } }

Program output.

[alex, brian, charles, david]

1. Overview

In this quick tutorial, we'll take a look at the conversion between a List and a Set,starting with Plain Java, using Guava and the Apache Commons Collections library, and finally with Java 10.

This article is part of the “Java – Back to Basic” series here on Baeldung.

How to Convert List to Set in Java

Now, let's see a couple of ways to convert a List to Set like HashSet in Java :

1. ArrayList to Set Conversion Example

Converting ArrayList or any other List implementation into HashSet or any other Set Implementation is not very difficult to write. In this Java tutorial,we will see a complete code example of converting ArrayList to HashSet in Java:

Write a Java program to convert a hash set to a List ArrayList




package test;

import java.util.ArrayList;
import java.util.HashSet;

public class ArrayListToSetConverter {

public static void main(String args[]){
//Creating ArrayList for converting into HashSet
ArrayListcompanies = new ArrayList();
companies.add("Sony");
companies.add("Samsung");
companies.add("Microsoft");
companies.add("Intel");
companies.add("Sony");
System.out.println("Size of ArrayList before Converstion: " + companies.size());
System.out.println(companies);
//Converting ArrayList into HashSet in Java
HashSetcompanySet = new HashSet(companies);
System.out.println("Size of HashSet after Converstion: " + companies.size());
System.out.println(companySet);
}
}

Output:
Size of ArrayList before Conversation: 5
[Sony, Samsung, Microsoft, Intel, Sony]
Size of HashSet after Conversation: 5
[Sony, Microsoft, Intel, Samsung]


You might have noticed that theSize of the Converted ArrayList cum HashSet is not the same and one less than the original ArrayList because duplicate entry "Sony" is just one time in Set. This is another great way of removing duplicates from ArrayList. just copy entries of ArrayList into Set and then copy it back into ArrayList you don't have duplicates anymore.


That’s all on the quick tip to Convert an ArrayList into HashSet in Java. You may check thedifference between ArrayList and Vector to know more about ArrayList and other Collection classes.


Related Java Tutorial
How to parse XML File using DOM Parser in Java
10 Points on Generics in Java Tutorial with Example
Secrets of Final keyword in Java
How SubString method works in Java
How to replace String using Regular Expression in Java
How to run Java Program from Command Prompt

Java Program to Convert Array to Set (HashSet) and Vice-Versa

In this program, you'll learn to convert an array to a set and vice versa in Java.

To understand this example, you should have the knowledge of the following Java programming topics:

  • Java Set Interface
  • Java HashSet Class
  • Java Arrays