Java集合框架

来源:互联网 发布:域名系统dns的作用是 编辑:程序博客网 时间:2024/05/17 23:01

Java集合框架图:


简化图:

                               

如上图所示,Java集合类的基本组成如下:

Collection(集合)、Map(图),在图中分别对应Collection接口和Map接口,其中Collection接口又实现了三个子接口,分别是:List、Set、Queue。具体的比较常用的实现类有下面几个:

关于List:ArrayList、LinkedList

关于Set:HashSet(查找迅速)、TreeSet(属于SortedSet)、LinkedHashSet

Queue:LinkedList(这个类实现了队列的FIFO功能)、PriorityQueue

另外还包括Iterator接口

Collection接口

这里只给出该接口的Iterator方法,Returns an array containing all of the elements in this collection.查阅源码可以发现,该方法的作用是遍历集合中的元素,Collection的每个实现类均实现了这个方法。

list的具体实现:

这里只给出简单介绍,后续的文章会给出每个实现类的源码解析

ArrayList:可以被视为一个长度可变的数组

LinkedList:实现方式是一个链表

基于这两种list的实现方式,不难作出对比:

数组是采用下表访问的,因此ArrayList随机访问速度比较快,但是插入和删除比较慢

LinkedList具有链表的特点,因此查找时实际上在做遍历,所以他的查找比较缓慢,但是增加和删除比较快

Set的具体实现:

Queue的具体实现:


Map接口:

HashMap:底层实现是哈希表

TreeMap:底层实现是红黑二叉树

Iterator接口:










0 0