博客专栏  >  编程语言   >  Java8容器源码札记

Java8容器源码札记

Java8容器源码札记。

关注
2 已关注
23篇博文
  • Java8源码-TreeSet

    TreeSet是依赖于TreeMap的Set接口的实现,实际上是个TreeMap的实例。如果对TreeMap源码很熟悉,那么学习TreeSet就会很简单了。TreeSet的特点使用元素的自然顺序对元素...

    2017-08-30 21:24
    461
  • Java8源码-HashSet

    今天开始学习HashSet。HashSet是依赖于HashMap的Set接口的实现,实际上是个HashMap的实例。如果对HashMap源码很熟悉,那么学习HashSet就会很简单了。HashSet的...

    2017-08-29 21:15
    432
  • Java8源码-Set整体架构

    前面一段时间,我们已经对List和Map的实现类进行了学习和总结。接下来,我们开始学习Set。相信学习了Map之后,学习Set会容易很多。本文主要介绍Set的整体结构。

    2017-08-29 19:05
    471
  • Java8源码-Map总结

    前段时间已经学习了HashMap、Hashtable、LinkedHashMap、WeakHashMap、TreeMap的数据结构、实现原理、源码等等。下面LZ就Map的这几个实现类做一个简单的总结

    2017-08-29 19:00
    474
  • Java8源码-TreeMap

    前几天学习了HashMap、Hashtable、LinkedHashMap,今天开始学习TreeMap。TreeMap是基于NavigableMap的红黑树实现。TreeMap根据键的自然顺序进行排序...

    2017-08-28 21:20
    467
  • Java8源码-WeakHashMap

    WeakHashMap和HashMap相似,也是哈希表的实现,以键值对的形式存储数据,key和value都可以为null。不同的是WeakHashMap的键为“弱键”。什么是“弱键”?弱键会对Weak...

    2017-08-25 21:04
    499
  • Java8源码-LinkedHashMap

    LinkedHashMap继承了HashMap,是Map接口的哈希表和链接列表实现。哈希表的功能通过继承HashMap实现了。LinkedHashMap还维护着一个双重链接链表。此链表定义了迭代顺序,...

    2017-08-23 20:23
    255
  • Java8源码-Hashtable(2)

    上一篇文章翻译了Hashtable源码最上部的注释,本文将详细讲解Hashtable的各个方法的实现,并总结HashMap和Hashtable的不同点。

    2017-08-21 19:04
    563
  • Java8源码-Hashtable(1)

    今天开始学习Hashtable。参考的JDK版本为1.8。(ps:以前都没注意到Hashtable中的t是小写的。。。)相信大家对Hashtable已经有所了解了,Hashtable和HashMap,...

    2017-08-20 14:14
    377
  • Java8源码-HashMap

    今天开始学习HashMap源码。参考的JDK版本为1.8。相信大家对HashMap的使用已经很熟悉了,它和List的最大的不同是它是以key-value的形式存储数据的。HashMap是如何保存和处理...

    2017-08-19 20:38
    664
  • Java8源码-Map整体架构

    前面已经学习了List的实现类并做了总结,接下来学习Map的实现类。原本想学习Set,可仔细一想,Set的某些实现类如HashSet实现是基于HashMap的,TreeSet的实现也依赖于TreeMa...

    2017-08-15 18:50
    578
  • Java8源码-List总结

    从List的各个实现类的特点不难得出以下结论:需要快速插入删除元素,应使用LinkedList;需要快速随机访问元素,只有单个线程操作list,应使用ArrayList;有多个线程操作list,应使用...

    2017-08-14 22:36
    487
  • Java8源码-Stack

    今天来学习Stack源码,参考的JDK版本为1.8。Stack继承Vector,学习了Vector再来学习Stack就变得很简单。Stack,即栈,特点是先进后出(FILO, First In Las...

    2017-08-14 20:53
    642
  • LinkedList与迭代器模式

    迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象中的各个元素,而不用暴露这个对象的内部表示。在Java中,LinkedList的迭代器有三种:Iterator、ListIte...

    2017-08-14 18:39
    501
  • Java8源码-LinkedList

    LinkedList和ArrayList与Vector同样实现了List接口,但它执行某些操作如插入和删除元素操作比ArrayList与Vector更高效,而随机访问操作效率低。除此之外,Linked...

    2017-08-12 20:21
    984
  • Iterator与Enumeration

    Iterator已经实现了对容器的遍历了,Enumeration的存在有什么意义呢?Iterator和Enumeration有什么相同点和不同点?Enumeration提供了哪些方法?如何使用?在Ja...

    2017-08-11 20:15
    812
  • Java8源码-详解fail-fast

    细心地朋友看Java容器源码时一定会发现在list()和listIterator()的注释中都有一句话:he iterators returned by this class's iterator ...

    2017-08-11 13:11
    638
  • Vector与迭代器模式

    在Java中,Vector的迭代器有两种:Iterator和ListIterator。值得一提的是,elements()方法也能实现类似迭代器的效果。为什么已经有了迭代器,还特意在Vector中新增了...

    2017-08-10 19:22
    840
  • Java8源码-Vector

    今天开始学习Vector源码。参考的JDK版本为1.8。Vector和ArrayList的最大的不同是它是线程安全的,这点在Vector源码中也有说明:“Vector 是同步的。如果不需要线程安全的实...

    2017-08-09 21:17
    1548
  • ArrayList与迭代器模式

    本文主要讲解迭代器模式在ArrayList源码中的使用。迭代器模式(Iterator Pattern):提供一种方法来访问聚合对象中的各个元素,而不用暴露这个对象的内部表示。在Java中,ArrayL...

    2017-08-09 08:26
    1245
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部