Collection接口是单列接口,下有2个子接口:List和Set
之前总结过了,List和Set的主要区别在于是否有序。
下面写一个例子,分别创建一个List接口的对象和Set接口的对象,并向内添加元素,然后输出,分析其区别。
//引入4个包:List,ArrayList,Set,HashSet
import java.util.ArrayList;
import java.util.List;
import java.util.HashSet;
import java.util.Set;
public class setAndList{
public static void main(String[] args){
//创建ArrayList对象LL,实现List接口
List<Integer> LL = new ArrayList<Integer>();
//分别加入4个元素
LL.add(1);
LL.add(2);
LL.add(3);
LL.add(3);
//输出集合LL
System.out.println(LL);
//创建HashSet对象SS,实现了Set接口
Set<Integer> SS = new HashSet<Integer>();
//分别加入4个元素,但是有重复
SS.add(1);
SS.add(2);
SS.add(1);
SS.add(2);
//输出集合SS
System.out.println(SS);
}
}
编译输出,结果如下:
可见,在List集合里,可以有重复值;在Set集合里,不能有重复值,即使添加也会被忽略。