什么是集合
集合类存放于java.util包中。
集合类存放的都是对象的引用,而非对象本身,出于表达上的便利,我们称集合中的对象就是指集合中对象的引用(reference)。
集合类型主要有3种:set(集)、list(列表)和map(映射)。
通俗的说,集合就是一个放数据的容器,准确的说是放数据对象引用的容器。
有哪些集合
理解这张图之前我们需要补充一点简单的UML类图符号知识。
UML类图中描述关系的一共有6种关系
依赖
- 1
关联
- 1
- 2
聚合
- 1
- 2
合成
- 1
- 2
实现
- 1
泛化
- 1
理解了UML类图之后,我们就能从上图中分析得知
集合主要分为Collection和Map2个接口
Collection又分别被List和Set继承
List被AbstractList实现,然后分为3个子类,ArrayList,LinkList和Vector
Set被AbstractSet实现,又分为HashSet和TreeSet
而Map衍生出的集合分为HashMap,HashTable和TreeMap
画一个树状图的话,就如下显示了
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
├HashSet
└TreesSet
Map
├Hashtable
├HashMap
└WeakHashMap
Collection接口介绍
首先看下collection的官方注释
Collection作用就是规定了一个集合有哪些基本的操作
这里主要是插入数据,清空数据,是否包含,是否相等,集合里的数据个数和转化成数组这几种操作
于Collection接口相关还有一个抽象类AbstractCollection
AbstractCollection是一个抽象类,实现了Collection接口的部分功能,在部分书籍中称这种抽象类继承接口,并且实现部分功能的为抽象骨架类。抽象类实现了一些最基本的通用操作,把复杂的和业务相关的延迟到子类实现。
在AbstractCollection中,主要实现了contains(), isEmpty(), toArray(), remove(), clear() 这几个操作。有兴趣的同学可以自行研究下,逻辑都比较简单。
http://blog.csdn.net/wz249863091/article/details/52843060