
java
哟-会撸代码啊
顺风,我们会飞的更远,逆风,我们会飞的更高!
展开
-
源码剖析——ArrayList和LinkedList的区别
1、ArrayList是基于数组,LinkedList是基于链表2、基于数组的ArrayList对于根据索引值查找比较高效;基于链表的LinkedList对于增加、删除操作比较高效3、剖析CRUD:ArrayList:Create(增加):public boolean add(E e) { ensureCapacityInternal(size + 1); // Increment原创 2017-08-03 00:28:29 · 386 阅读 · 0 评论 -
源码剖析——HashMap、HashTable、HashSet的区别
1、HashMap、HashTable 实际上是数组和链表的结合 2、HashMap、HashTable 不允许添加相同key,若添加了已经存在的key,则会以最新的替代原来的,并返回上次的value 3、HashMap允许添加key或value为null,HashTable不允许添加key或value为null 4、HashMap线程不安全,性能高,HashTable线程安全,方法中加s原创 2017-08-04 00:01:54 · 329 阅读 · 0 评论 -
源码剖析——LinkedHashMap
1、LinkedHashMap继承了HashMap,在HashMap基础上,重写了addEntry、createEntry、recordAccess等方法 2、LinkedHashMap采用链表的结构,其数据的顺序默认为插入的顺序先进先出,accessOrder为true,为按照访问顺序排序,accessOrder为false,默认按照插入顺序排序,在get当前值放在链表的尾部 3、Linked转载 2017-08-04 17:37:58 · 358 阅读 · 0 评论