How to convert List to Set (ArrayList to HashSet)
Collection object has a constructor that accept a Collection object to initial the value. Since both Set and List are extend the Collection, the conversion is quite straightforward. It’s just pass a List into Set constructor or vice verse.
Convert List to Set
Set set = new HashSet(list);
Convert Set to List
List list = new ArrayList(set);
1. List To Set Example
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ConvertListToSet
{
public static void main( String[] args )
{
System.out.println("List values .....");
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("1");
for (String temp : list){
System.out.println(temp);
}
Set<String> set = new HashSet<String>(list);
System.out.println("Set values .....");
for (String temp : set){
System.out.println(temp);
}
}
}
Output
List values .....
1
2
3
4
1
Set values .....
3
2
1
4
After the conversion, all the duplicated values in List will just ignore, because the Set does not allow duplicated values.
2. Set To List Example
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class ConvertSetToList
{
public static void main( String[] args )
{
System.out.println("Set values .....");
Set<String> set = new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
set.add("4");
for (String temp : set){
System.out.println(temp);
}
System.out.println("List values .....");
List<String> list = new ArrayList<String>(set);
for (String temp : list){
System.out.println(temp);
}
}
}
Output
Set values .....
3
2
1
4
List values .....
3
2
1
4
@Mkyong: Your website has been a great resource to me since college. Please include Java 8 tutorials too.
Solution with JDK 8:
List myList = mySet.stream().collect(Collectors.toList());
comment deleted
thanks for the info!
Any differences of your approach with the addAll method?
Good explanation,Thank you
Nice explanation i ever seen
List To Set Example is very help full.
Excellent