java集合
文章平均质量分 54
零度212
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LinkedHashMap
直接先贴代码import java.util.ConcurrentModificationException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.NoSuchElementException; public class LinkedHashMa原创 2017-04-17 00:03:24 · 264 阅读 · 0 评论 -
HashMap源码解析笔记
1 默认加载因子0.75f 2 hash数组默认是16 4 初始化时,如果传入了hash槽的容量大小,不是2的整数次幂,获取刚大于容量的整数次幂 5 key和value都允许null 如果key为null 则数据放在table[0] 6 关于hash因子,如果太大,空间能够充分利用,但是查询慢 如果太小,没存入多少数据就需要开始扩容,但是查询速度快 主要是链表的长度决定的,链表越长,查原创 2017-04-16 22:32:00 · 230 阅读 · 0 评论 -
java集合框架
源码看了容易忘记,尝试着自己写写,有问题欢迎指出原创 2017-04-16 14:44:21 · 221 阅读 · 0 评论 -
其他容器学习笔记
Vector 1 Vector 没有实现序列化接口 2 无参构造函数的默认值是10 3 添加数据需要判断是否需要扩容,扩大为原来的2倍 3 很多方法添加了Synchronized同步语句块,是线程安全的 4 元素允许为空 5 jdk 1.0的产物,用的比较少了 6 遍历数据用Enumeration,不能用Iterator hashTable 1 结构跟HashM原创 2017-04-16 23:07:34 · 232 阅读 · 0 评论 -
LinkedList源码解析
1 实现了Deque,所以是双向链表,同时可以作为双向队列 2 未实现RandomAccess,就不能随即访问,对于所有的数据结构都是这样,改接口只是起到标识作用 3 实现克隆和序列化接口 4 链表就会有节点Node,双向就会有first和last节点 5 默认构造函数什么都没有做,链表不需要初始化大小 6 jdk 1.6 有一个空的头结点,1.7没有 但是有first和l原创 2017-04-16 17:16:11 · 214 阅读 · 0 评论 -
ArrayList源码分析
ArrayList是基于数组实现的,可以扩展数组的长度。 private transient Object[] elementData;非线程安全的,如果需要线程安全的可以用CopyOnWriteArrayList public class ArrayList extends AbstractList implements List, RandomAccess, Cloneab原创 2017-04-16 14:47:00 · 247 阅读 · 0 评论
分享