自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

再见时光的博客

点滴汇聚

  • 博客(5)
  • 收藏
  • 关注

原创 Java集合之TreeMap总结

TreeMap 的总结写的比较简单,关于红黑树是可以写很长的篇幅的。但是这篇博客只是描述 TreeMap 的特性和使用场景,它就是红黑树实现的,要了解实现原理只有先去百度了解红黑树是什么,结合 TreeMap 的源码看是怎么实现的,才能理解。

2017-03-27 14:53:17 1831

原创 Java集合之LinkedHashMap总结

LinkedHashMap 是哈希表和链接列表实现,HashMap 也是哈希表和链接列表实现的,与HashMap 的不同之处在于 LinkedHashMap 中的链接列表是双向链表。LinkedHashMap 是有序的,该迭代顺序是将键插入到映射中的顺序(插入顺序)。LinkedHashMap 提供特殊的构造方法来创建哈希映射,该映射的迭代顺序就是最后访问其元素的顺序,从近期访问最少到近期访问最多的顺序(访问顺序),这种适合映射关系适合构建 LRU 缓存。为初始容量选择非常高的值对此类的影响比对 HashM

2017-03-27 00:24:26 602

原创 Java集合之HashMap总结

HashMap 是我们工作中常用的容器,它底层是数组 + 链表实现的,当然这个数组是哈希表。但只要是数组结构的容器,那么就和 ArrayList 一样,它会扩容,影响到了效率。那么我们在实际业务中如果能预先知道储存的数量,就可以减少扩容的次数,HashMap 储存的数量是哈希表的长度(初始容量)乘以加载因子,如果初始容量设置为 1000,加载因子为1,那么在储存第 1001 个元素的之前,HashMap 将自动扩容。根据上面的分析,我们可以得知,如果你需要存储键值对(key-value)的数据,它允许 n

2017-03-26 16:42:27 554

原创 Java集合之LinkedList总结

LinkedList 是一个常用的容器,它与 ArrayList 都提供了复制一个 Collection 类型的列表的构造器,如果你有某个业务场景需要频繁新增,实时的更新内存中的数据,又要提供查询,可以使用 LinkedList 新增,外部调用查询的使用 ArrayList queryList = new ArrayList(linkedList) 的方式返回数据,则可以提供系统性能。如果不了解 ArrayList 和 LinkedList 的内部结构和实现细节,我们又怎么能够知道在什么场景下使用什么容器呢

2017-03-26 14:46:01 563

原创 Java集合之ArrayList总结

作为一个开发人员,只是学会某个工具的使用方法,这并不完善。例如上面的分析,如果没有学习过源码,没有这些疑问,那么在编码时就不会考虑到效率问题,写出来的东西就是会比知道这些细节的同行差。如果你能知道扩容的原理,在知道存储量时你就能指定容量;如果你能知道 ArrayList 使用 for 循环比较快,那你就不会使用迭代器去迭代;如果你能知道 ArrayList 随机访问快,那么你就不会用其他容器进行随机访问。综上所述,要走的路还有很长,和别人不一样,就差这么一点点。

2017-03-24 15:53:33 929

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除