HashTable源码阅读
摘要:环境jdk1.8.0_121 与HashMap有几点区别(不了解HashMap的具体实现,看我另个博客http://www.cnblogs.com/dj3839/p/8111675.html) 在HashMap中,冲突的值会在bucket形成链表,当达到8个,会形成红黑树,而在HashTable中,
阅读全文
HashSet源码阅读
摘要:HashSet的实现基于HashMap 看几个简单的初始化方法 可以看到HashSet的所有初始化,其实都在初始化hashmap,可以看出HashSet和HashMap是has-a的形式。最后一个初始化的是使用LinkedHashMap,dummy参数只是为了做区分构造函数,可以忽略。 看一个Has
阅读全文
ArrayList排序算法的源码
摘要:ArrayList,排序方法的调用过程 然后继续看下在没有实现Comparator接口的情况,传统归并排序的实现 再看看当前默认使用的排序方法(没使用Comparable的情况) 具体看看里面的方法实现 没分析完。。。需要学习一波tim sort。。
阅读全文
ArrayList源码
摘要:先介绍几种初始化方法 重点看下c.toArray方法,假如这个集合是个arraylist类型的,那它的toArray实现如下 发现,调用的是Arrays.copyof方法 继续看 再介绍ArrayList两个操作 提下java的迭代器,通过迭代器来操作ArrayList 取得迭代器 再看下迭代器的实
阅读全文
hashmap源码阅读
摘要:hashmap的介绍: 在hashmap中,有个内置对象node,保存着索引的值key,存储的值value,key的hash值,以及节点 因此hashmap实际的存储是在一个node对象的数组table上操作的 初始化一个空的hashmap,有三种方法 将容量调整为比原来容量大,2的^n次幂 这时h
阅读全文