
源码剖析
Jon_Deng
这个作者很懒,什么都没留下…
展开
-
HashSet的add(E e)方法剖析
HashSet底层原理 JDK 1.6 中文API描述:此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。 此类为基本操作提供了稳定性能,这些基本操作包括 add、remove、contains 和 size,假定哈希函数将这些元素正确地分布在桶中。对此 set 进行迭代所需的时原创 2016-03-22 00:29:32 · 3497 阅读 · 0 评论 -
TreeSet唯一性以及有序性底层剖析
TreeSet底层原理TreeSet底层数据结构是红黑树(一种自平衡的二叉树,自平衡是指如果有空的左/右子树,元素会先入空的左/右子树,而不会一直往一个方方向添加元素出现不平衡现象)。该自平衡二叉树保证了元素的有序性(存储逻辑顺序),因为按照前、中、后三种顺序都可以有序的读取到集合中的元素。 下面是关键底层源码: 发现add方法中调用了TreeSet中的一个成员变量m.put()方法。而Navi原创 2016-03-22 01:24:32 · 5660 阅读 · 0 评论