Как преобразовать список в набор (ArrayList в HashSet)
Объект Collection имеет конструктор, который принимает объект Collection в качестве начального значения. Поскольку и Set, и List расширяют коллекцию, преобразование довольно простое. Это просто передать список в конструктор Set или наоборот.
Преобразовать список в набор
Set set = new HashSet(list);
Преобразовать в список
List list = new ArrayList(set);
1. Пример списка
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 list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("1");
for (String temp : list){
System.out.println(temp);
}
Set set = new HashSet(list);
System.out.println("Set values .....");
for (String temp : set){
System.out.println(temp);
}
}
}
Выход
List values ..... 1 2 3 4 1 Set values ..... 3 2 1 4
После преобразования все дублированные значения в List будут просто игнорироваться, потому что Set не допускает дублирование значений.
2. Пример списка
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 set = new HashSet();
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 list = new ArrayList(set);
for (String temp : list){
System.out.println(temp);
}
}
}
Выход
Set values ..... 3 2 1 4 List values ..... 3 2 1 4