リストをセットに変換する方法(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
変換後、セットでは重複する値が許可されないため、リスト内の重複する値はすべて無視されます。
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