一、集合框架的认识
对于集合框架的认识,为了防止时间久,而印象变得模糊,所以我自己是这样记得,这个方法以供参考吧,假定给定一个集合类,可以把他当成一个人,首先记住从哪里来(继承关系),然后有什么本事(底层的数据结构决定了特点),最后到哪里去(使用场景)。
根据上述的思路,先看一下来源(在这里先不说继承关系),Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*
有什么本事呢?Java集合主要有4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。
使用场景呢?一句话,每一个容器(集合类)能盛不同的液体(数据)。所以容器的功能不同使用场景不同。
二、java集合类框架
为了清晰的认识,来张图。
太多了,是不是有点乱,别着急,现在把他们捋一捋分个类就清晰了。
先抓住它的主干,即Iterator、Collection和Map。(虚框线是接口,实框线是类)
1、 Collection
包含了集的基本操作和属性的高度抽象的接口。
Collection包含了List和Set两大分支。
(1) List是一个有序的队列,实现类有4个:LinkedList, ArrayList, Vector, Stack。
(2) Set是一个不允许有重复元素的集合。实现类有3个:TreeSet、HastSet、LinkHastSet。
2、 Map
一个映射接口,即key-value键值对。
(1)AbstractMap是个抽象类,它实现了Map接口中的大部分API。实现类有6个:
TreeMap、HashMap、LinkHashMap、IdentityHashMap、WeakHashMap、HashTable
(2)SortedMap 是继承于Map的接口。内容是排序的键值对,通过比较(Comparator)
3、Iterator。
它是遍历集合的工具,即我们通常通过Iterator迭代器来遍历集合。
三、集合总体框架的各个类的使用场景
为了描述方便,我觉得还是图比较直观
具体的,可以先有个印象,等把所有的集合类学完了之后,再来看这个印象会比较深刻一点。