基本容器类的层次结构。
1) Collection。定义为:一个独立元素的序列。它是Collection层次结构中的根接口。根据这些元素服从的规则,可分为以下几个类型。
(1)List。必须按照插入的顺序保存元素。
a. ArrayList。基于动态数组的数据存储结构。
b. LinkedList。 基于链表的数据存储结构。
(2)Set。不能有重复的元素。
a. HashSet。并没有按照任何明显的顺序来保存其元素,存储元素的方式相当复杂,但确是获取元素的最快方式。
-LinkedHashSet。按照被添加的顺序保存对象。
b. TreeSet。按照比较结果的升序保存对象。
(3)Queue。按照排队规则来确定对象产生的顺序。默认为先进先出排队顺序(FIFO)。
-PriorityQueue。按照优先级的排队规则。
2) Map。一组成对的”键值对“对象。每个对象的键是唯一的,即不能重复。
(1)HashMap。并没有按照任何明显的顺序来保存其元素,也提供了最快的查找技术。
-LinkedHashSet。按照插入顺序保存键,同时也保留了HashMap的查询速度。
(2)TreeMap。按照比较结果的升序保存对象。
基本的容器类的层次关系如下图:
其中,虚线框表示接口,实线框表示普通的类。带有空心箭头的虚线表示一个特定的类实现了一个接口,实心箭头表示某个类可以(通过内部的方法返回)生成箭头所指向类的对象。各容器类的具体定义如下。
Collection:public interface Collection
extends Iterable。
List:public interface List
extends Collection。
ArrayList:public class ArrayList
extends AbstractList
implements List, RandomAccess, Cloneable, Serializable。
LinkedList:public class LinkedList
extends AbstractSequentialList
implements List, Deque, Cloneable, Serializable
Set:public interface Set
extends Collection
HashSet:public class HashSet
extends AbstractSet
implements Set, Cloneable, Serializable
TreeSet:public class TreeSet
extends AbstractSet
implements NavigableSet, Cloneable, Serializable
LinkedHashSet:public class LinkedHashSet
extends HashSet
implements Set, Cloneable, Serializable
Queue:public interface Queue
extends Collection
PriorityQueue:public class PriorityQueue
extends AbstractQueue
implements Serializable
Map:public interface Map