如题:
List和Set都实现了Collection接口,也都提供了Collection<? extends E> 的构造函数,所以用addAll()方法和构造方法都可以的,下面以构造为例:
package test;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class SetListDemo {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("a");
list.add("b");
list.add("c");
System.out.println("old_list="+list);
//List转Set,会去重
Set<String> set = new HashSet<>(list);
System.out.println("set=" + set);
//Set转List
List<String> list_1 = new ArrayList<>(set);
System.out.println("new_list=" + list_1);
}
}
测试结果:
List转Set用的普遍的还是去重,原来的a,a,b,c经过转Set之后结果为a,b,c