集合框架
java集合框架包含的内容
java集合框架为我们提供了一套性能优良、使用方便的接口和类,它们都位于java.util包中.
java集合框架包含的主要内容及彼此之间的关系如图:
lterator <---------------------Collection<--------------------Map
Produces | Produces |
| |
_ _ _ _ _ _ _ | _ _ _ _ _ _ _ ------------- | ----------------
| | | |
| | | |
List Set HashMap TreeMap
| |
_ _ _ _ _ _ _ _ _ _ _ | ------------------------ | -----------------
| | |
ArrayList LinkedList HashSet TreeSet
集合框架是为了表示和操作集合而规定的一种统一的标准体系结构.集合框架都包含三大块内容: 对外的接口、接口的实现和对集合运算的算法.
接口:
表示集合的抽象数据类型,在图中,如Collection、List、Set、Map、lterator 。
实现:
集合框架中接口的具体实现,如 ArrayList、LinkedList、HashMap、HashSet。
算法:
在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方法,如查找、排序等.JAVA 提供了进行集合操作的工具类Collections(注意是Collection,类似于Arrays类),它提供了对集合进行排序等多种算法实现.在使用Collections的时候可以查阅JDK帮助文档.
从图中可以看出Java集合框架中的两大类接口: Collection和Map.其中,Collection又有两个子接口:List和Set.所以通常说Java集合框架共有三大类接口:List、Set、Map.它们的共同点:都是集合接口,都可以用来储存很多对象.
区别如下:
Collection 接口存储一组不唯一(允许重复)、无序的对象.
Set接口继承Collection接口,存储一组唯一(不允许重复)、无序的对象.
List接口的继承Collection接口,存储一组不唯一(允许重复)、有序(以元素插入的次序来放置元素,不会重新排列)的对象.
Map接口存储一组成对的键一值对象,提供key(键)到vailue (值)的映射.Map中的key不要求有序,不允许重复.value同样不要求有序,但允许重复.
lterator接口是负责定义访问和遍历元素的接口.
List接口
实现List接口的常用类有ArrayList和LinkedList.它们都可以容纳所有类型的对象,包括null,允许重复,并且都保证元素的存储顺序
List接口中定义的各种常用方法