在上文的集合类笔记中提到:在java中集合分为两大类
一类是单个方式储存元素:
单个方式储存元素,这一类集合中超级父类接口:java.util.Collection;
一类是以键值对的方式储存元素:
以键值对的方式储存元素,这一类集合中超级父接口:java.util.Map;
这里利用两个UML图主要解释一下集合的继承结构图是怎样的(部分)
Collection
Collection(单个元素的集合)
Collection接口:(单个元素)
一:List集合:有序可重复(有下标),先进先出
二:Set集合:无序不可重复(无下标)
创建迭代器:
Iterable-->Collection(继承Iterable)-->调用Iterable中的Iterator()方法创建迭代器对象
一:
List------>ArrayList(数组,非线程安全)
List------>Vector(数组,线程安全,效率低,不常用)
List------>LinkedList(双项链表)
二:
Set------>HashSet(实际上是在底层new了一个HashMap,HashMap是一个哈希表)
Set------SortedSet(这个接口继承Set接口)(可排序)------>TreeSet(二叉树)
Map
Map(键值对)
Map接口:(键值对)
Map集合以key和value这种键值对的方式储存元素
key和value都储存java对象的内存地址
Map集合特点:无序,不可重复
Map------>HashMap(哈希表,非线程安全)
Map------>Hashtable(哈希表,线程安全,效率低不常用)
Map------SortedMap(这个接口继承Set接口)(可排序)------>TreeMap(二叉树)