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) + " ");
}
}
|
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) + " ");
}
}
|
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.
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
1. ArrayList to Set Conversion Example
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