Java集合框架综述:
一、什么是Java集合框架:
首先要明确,集合代表了一组对象(和数组一样,但数组长度不能变,而集合能)。Java中的集合框架定义了一套规范,用来表示、操作集合,使具体操作与实现细节解耦。
其实说白了,可以把一个集合看成一个微型数据库,操作不外乎“增删改查”四种操作,我们在学习使用一个具体的集合类时,需要把这四个操作的时空复杂度弄清楚了,基本上就可以说掌握这个类了。
Java集合工具包位于Java.util包下,包含了很多常用的数据结构,如数组、链表、栈、队列、集合、哈希表等。学习Java集合框架下大致可以分为如下五个部分:List列表、Set集合、Map映射、迭代器(Iterator、Enumeration)、工具类(Arrays、Collections)。
其整体结构图大致如下:
从上图可以看出:
Collection和Map是Java集合框架的顶级接口,两者都是泛型接口
Collection是List、Set等集合高度抽象出来的接口,它包含了这些集合的基本操作,它主要又分为两大部分:List和Set。
Map是一个映射接口,其中的每个元素都是一个key-value键值对,同样抽象类AbstractMap通过适配器模式实现了Map接口中的大部分函数,TreeMap、HashMap、WeakHashMap等实现类都通过继承AbstractMap来实现,另外,不常用的HashTable直接实现了Map接口,它和Vector都是JDK1.0就引入的集合类。
二、Java集合框架的重要成员综述:
2.1Collection一族综述
Collection继承了Iterable接口,因此Collection一族都是可迭代的
这里我们只对Collection两个重要的子接口List和Set做一简单了解
对于List和Set这两个接口及其实现类的深入学习,我会在后续的章节陆续展开,敬请关注我的博文,共同学习进步!
2.2Map一族综述:
这里只对Map一族做一简单综述,让大家明确有这样的一个大致的概念就行,从图中可以看出,虽然Collection和Map没有直接联系。但楼主这里推测Map映射的设计者还是参考了Collection,多多少少有一点点联系,见下图,诸如HashSet和HashMap,TreeSet和TreeMap,哈哈,也可能是我钻牛角尖了,欢迎大家评论区发表意见!
同样,对于Map一族的子成员,诸如HashMap,Hashtable以及TreeMap我会在后续章节展开具体介绍,详情请关注我的博客,大家共同学习进步!
欢迎评论区批评指正,互相学习!
转载请注明出处,谢谢!