java集合
ivluowei
好记性不如烂笔头...
展开
-
Java集合分析(1):Iterator(迭代器)
集合框架在开发中经常用到,但一般情况下,我们只限于会用,却不知道其原理,用的过程会发生什么异常,我们也不知所然。所以我觉得花点时间研究研究集合框架还是很好的。首先我们先看看集合框架的类图:从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器:一种是Collection,另一种是Map,而 我们又能看到Collection 又继承了 Iterable< E > 接口,所以本节我们先学习原创 2017-10-20 16:04:02 · 351 阅读 · 0 评论 -
java集合分析(9):LinkedList
先前我们分析了ArrayList , 我们知道 ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。这篇我们来看看LinkedList,它是以双向链表实现的,插入、删除时只需要改变前后两个节点指针指向即可。什么是LinkedListLinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列原创 2017-11-22 16:03:59 · 265 阅读 · 0 评论 -
java集合分析(8):AbstractSequentialList
什么是AbstractSequentialListAbstractSequentialList 继承自 AbstractList,是 LinkedList 的父类,它只支持按次序访问,而不像 AbstractList那样支持随机访问。想要实现一个支持按次序访问List的话,需要继承这个抽象类,然后实现size(),listIterator()方法 对于不可修改的List,只需要实现Iterator原创 2017-11-20 16:34:37 · 265 阅读 · 0 评论 -
java集合分析(4):AbstractCollection
在上一篇中我们学习了Collection的基本概念和用法,这篇我们来看看实现了Collection接口的抽象类AbstractCollection。AbstractCollection直接实现Collection接口的类只有AbstractCollection类,该类是一个抽象类,提供了对集合类操作的一些基本实现。List和Set的具体实现类基本上都直接或间接的继承了该类; 如果想要实现一个不可修原创 2017-11-02 15:30:23 · 265 阅读 · 0 评论 -
java集合分析(6):AbstractList
package java.util; /** * List 接口的骨干实现,分别有类ArrayList,Vector,内部类SubList,抽象类AbstractSequentialList实现了该接口 * 。注意:对于连续的访问数据(如链表),应优先使用 AbstractSequentialList,而不是此类(jdk说明). * 要实现不可修改的列表,编程人员只需扩展此类,并提供转载 2017-11-10 10:19:23 · 196 阅读 · 0 评论 -
java集合分析(3):Collection
上面一篇我们对ListIterator进行了分析,接下来我们看看Collection 。Collection 接口:java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有Lis原创 2017-10-28 20:52:26 · 209 阅读 · 0 评论 -
java集合分析(5) : List
List接口是Collection的子接口,用于定义线性表结构,其中ArrayList可以理解为一个动态数组,而LinkedList可以理解为一个链表常用操作: 插入和删除操作: void add(int index,E element): 将给定的元素插入到指定位置,原位置及后续元素都顺序向后移动。 E remove(int index): 删除给定位置的元素,并将被删除的元素转载 2017-11-09 16:17:43 · 279 阅读 · 0 评论 -
Java集合分析(2):ListIterator
上面一篇我们对Iterator进行了分析,接下来我们看看ListIterator。ListIterator 继承自 Iterator 接口(关于Iterator的介绍 请点这里),在 Iterator 的基础上增加了 6 个方法,下面我们就来看看这几个新增的方法:void add(E e) 将指定的元素插入列表,插入位置为迭代器当前位置之前(注意:是之前);boolean hasPrevio原创 2017-10-22 21:08:01 · 223 阅读 · 0 评论 -
java集合分析(7):ArrayList
在前面中我们分析了几篇有关集合的类,这一篇我们来看看在我们开发当中经常用到集合类就是ArrayList.什么是ArrayListArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。 ArrayList继承原创 2017-11-17 17:22:51 · 268 阅读 · 0 评论