容器框架概述
在JDK8中rt.jar文件中,java.util.*;包中的容器主要包括List、Set、Queue和Map四个大类,其中List、Set、Queue是和Collection接口相关的容器,而Map是单独列出来的容器。使用astah community版绘制了容器框架的类图。
Collection的List、Set、Queue类图如下:
Map容器的类图如下:
注意到上面的类图中有几个单独列出的接口或者类:
- Comparator
比较器接口,最重要的是compare()方法,对于容器中存储元素item的排序(包括自定义排序等)有重要作用,如果使用的是有序容器(SortedSet、SortedMap、TreeMap),则存放的元素必须是可进行比较的,需要实现Comparator接口。 - RandomAccess
随机存取接口,实现容器的随机存取,如ArrayList、Vector(相当于同步的ArrayList)等。 - Iterator和ListIterator
Iterator接口使用了迭代器设计模式来对所有的容器进行快速遍历,容器本身不需要关注存储元素item的数据类型(具体是什么类),这些确定类型和转型的工作由iterator负责实现。
L