集合与数组####
数组可以存储基本数据类型,也可以存储对象,但数组长度固定;
集合只能存储对象,长度可变。
通过Arrays.asList()方法得到一个List集合,本质上还是数组,这个集合的长度是固定的。
集合####
Collection是集合的根接口,Java中没有提供这个接口的直接实现类,但是让Set和List接口继承了Collection。Set中不能包含重复的元素,List是一个可重复并且有序的集合,提供了按索引访问的方式。
Map是Java.util包中的另一个接口,和Collection没有关系,相互独立的,但是属于集合类的一部分。Map中包含了key-value键值对。Map不能包含重复的key,但是可以包含相同的value。即set集合的key,List集合的value。
另外,Collection集合中可以通过iterator()方法对集合进行遍历。
AbstractCollection####
AbscractCollection实现了除iterator()和size()之外的方法。
实现了Collection接口中的大部分函数,从而方便实现Collection。
AbstractList####
继承AbstractCollection,并且实现List接口的抽象类,实现了List中除size()、get(int location)之外的函数。
与AbstractCollection相比,实现了iterator()接口。
AbstractSet####
继承AbstractCollection,并实现了Set接口的抽象类,实现了Set中除了iterator()和size()之外的函数。
实现了Set接口中的发部分函数。