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
Tags :

About the Author

mkyong
Founder of Mkyong.com and HostingCompass.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

  • renso

    Good explanation,Thank you

  • kumaran

    Nice explanation i ever seen

  • Bhupesh Singh Padiyar

    List To Set Example is very help full.

  • tanuj pandey

    Excellent