集合就是数学中的集合的概念:所有的元素都具有唯一的值,元素在其中没有顺序。
集合是无序的,但其实还是存在有序集合的,比如LinkedHashSet,但是LinkedHashSet并没有提供get方法。对于集合(Set)来说,有序无序并不是最关键的,最关键的是不能有重复的元素。
public static void main(String[] args) {
ArrayList<String> a=new ArrayList<String>();
a.add("first");
a.add("second");
a.add("first");
System.out.println(a);
HashSet<String> b=new HashSet<String>();
b.add("first");
b.add("second");
b.add("first");
System.out.println(b);
}
//输出
//[first, second, first]
//[first, second]
在HashSet集合b中,重复元素first只会出现一次,
这个也是它最大的功能特点,因此集合一般来说最重要的用途就是用来判断某个元素是否存在。而对于ArrayList这类容器来说,get方法就很重要了,因为获取元素用于计算是最主要和最重要的操作。所以从功能设计上来说,是有必要对两种类型的容器做接口差异化处理的。