LinkedHashMap 继承了 HashMap 类。 HashMap 类的源码详细分析参考博客:HashMap源码分析 LinkedHashMap底层仍是数组和链表实现的。但是为什么可以在迭代时,返回和插入顺序相同的…
标签:java集合源码分析
Java集合框架成员之ArrayList类的源码分析(基于JDK1.8版本)
前言: 加深对Java的学习与理解的最好途径之一,就是在掌握了Java的基础知识之后,对JDK中的源码进行学习和分析;通过分析牛人们的代码,可以学到很多东西!这些知识和经验对于巩固加深对Java的掌握来说,大有裨益! 在…
java 中的集合(三) ArrayList源码分析
ArrayList是基于数组实现的,相当于一个动态数组,其容量能自动增长。 ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用concurrent包下的CopyOnWriteArrayList…
[java][集合]ArrayList的详解与源码分析(基于java8)
ArrayList简介 ArrayList是一个数组队列,底层是这个类的一个成员变量(Object[] elementData ),容量可以实现动态改变。 和数组一样可以实现添加(add方法)、修改(set方法)、删除(…
java 中的集合(十五) Hashtable源码分析
Hashtable也是基于哈希表实现的,每个元素是一个key-value对,其内部也是通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长。 Hashtable也是JDK1.0引入的类,是线程安全的(相对而言…
Java集合框架--HashSet源码分析(基于JDK1.8)
1 概述 前面的文章,我们分析了List和Map的一些实现类。现在我们开始分析Set的实现类。 Set和List相同都是用于存放数据的集合,不同的是Set中的元素不允许重复(通过hashCode和equals函数来保证不…
Java集合:LinkedList使用详解及源码分析
1 使用方法 LinkedList基于双端链表实现,可以作为栈、队列或者双端队列使用。 public class LinkedList<E> extends AbstractSequentialList&…
Java 集合之 List 详解与源码分析
1.ArrayList、LinkedList、Vector的异同与使用场景 一般来说,ArrayList与Vector都是使用数组来存储,LinkedList是使用双向链表进行存储,所以,Arra…
Java集合源码分析05----Vector源码分析
目录 简介 介绍 源码分析(基于jdk1.8) 案例(部分api) 简介 Vector与ArrayList相比,有大部分的方法一样的,不一样的是Vector几乎所有的方法都使用了…
Thinking in Java之集合相关整理(源码分析)
近来在对Java中常用集合源码的学习总算是初窥门径了,也形成了几篇的学习总结。为了 &…
Netty源码分析——Reactor的processSelectedKeys
Netty源码分析——Reactor的processSelectedKeys 上一篇我们已经看过了Reactor轮训注册到selector的channel。这篇看下如何处理这些IO事件。 process run方法中: …
带你走进Java集合_ArrayList源码深入分析3
上一篇文章我们从源码角度介绍了ArrayList中两个比较相似的方法,现在我们总结一下: 1)removeAll:获取两个集合的差集,例如:list.removeAll(c),就是执行此方法,list会移除包含c的元素 …