集合
NGUhuang
这个作者很懒,什么都没留下…
展开
-
java迭代器移除元素出现并发修改异常的原因
迭代器(Iterator的对象)主要用于遍历集合,体现的就是迭代器模式。Iterator接口定义了以下四种方法。 boolean hasNext():如果集合还没遍历完就返回true。Object next():返回集合里的下一个元素。 void remove():删除集合里上一次next方法返回的元素。void forEachRemaining(Consumer action):这是...原创 2018-05-18 01:27:26 · 2172 阅读 · 0 评论 -
[java][集合]ArrayList的详解与源码分析(基于java8)
ArrayList简介ArrayList是一个数组队列,底层是这个类的一个成员变量(Object[] elementData ),容量可以实现动态改变。 和数组一样可以实现添加(add方法)、修改(set方法)、删除(remove 方法)、遍历。ArrayList实现了Serializable接口(可以实现对象流的序列化和反序列化)、Cloneable接口、RandomAccess接口(标记接口可...原创 2018-05-19 22:35:32 · 186 阅读 · 0 评论 -
[java][集合]Iterator和ListIterator两种迭代器的比较
Iterator和ListIterator在ArrayList中分别由Itr和ListItr两个内部类实现ListIter是ArrayList中的一个内部类继承了Itr实现了ListItrtator,源码如下: private class ListItr extends Itr implements ListIterator<E> { ListItr(int index...原创 2018-05-20 01:09:11 · 754 阅读 · 0 评论 -
[java][集合]LinkedList详解及源码分析
LinkedList的基本结构LinkedList是一个双端链表,继承了AbstractSequentialList,实现了List、Serializable、Cloneable、Deque接口,线程不安全。链表结构什么是链表?就像是自行车的链条,一环接一环,如果我们需要寻找其中的某一环,只要我们能找到任意一环就可以找到我们需要的那一环。在链表中的每一环都叫节点,节点氛围三个部分两端分别存储的是前...原创 2018-05-22 00:45:25 · 302 阅读 · 0 评论 -
[java][集合]HashSet详解
HashSet是Set集合最典型的的实现,也是最常用的,HashSet利用Hash算法来存储集合中的元素,因此具有很好的存储和查找的性能。查看源码发现HashSet在底层实现时时转化为HashMap实现的public class HashSet<E> extends AbstractSet<E> implements Set<E>, Clonea...原创 2018-06-04 01:22:37 · 524 阅读 · 0 评论 -
[java][集合]HashMap源码分析和实现
HashMap集合的简介Map集合用语保存具有映射关系的数据,保存着两组值,一组用于保存key,一组用于保存Value,key和value保存的值可以是任何引用类型。key保存的值是不能重复的,value可以重复,key和value的值都可以为null,但是只允许最多一条记录key的值为null,value的值允许多条。HashMap是基于哈希表的,哈希表是由数组加链表共同构成的一个数据结构。内部...原创 2018-05-29 02:06:06 · 325 阅读 · 0 评论