http://wiki.jikexueyuan.com/project/java-collection/hashmap.html, http://wiki.jikexueyuan.com/project/java-collection/hashset.html, http://www.codedat ...
分类:
编程语言 时间:
2017-08-04 16:11:32
阅读次数:
150
对于Java中的各种集合类,根据底层的具体实现,小结了一下大致有3种扩容的方式: 1、对于以散列表为底层数据结构实现的,(譬如hashset,hashmap,hashtable等),扩容方式为当链表数组的非空元素除以数组大小超过加载因子时, 链表数组长度变大(乘以2+1),然后进行重新散列。 2、对 ...
分类:
编程语言 时间:
2017-08-03 22:07:08
阅读次数:
392
通过 HashMap、HashSet 的源码分析其 Hash 存储机制 集合和引用 就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并非真正的把 Java 对象放入数组中。仅仅是把对象的引用放入数组中,每一个数组元素都是一个引用变量。 实际上,HashSet 和 HashMap 之间有 ...
分类:
编程语言 时间:
2017-08-02 11:08:55
阅读次数:
163
集合的结构如下图所示: 集合的两个顶级接口分别为:Collection和Map Collection下有两个比较常用的接口分别是List(列表)和Set(集),其中List可以存储重复元素,元素是有序的(存取顺序一致),可以通过List脚标来获取指定元素;而Set不可以有重复元素,元素是无序的。 L ...
分类:
编程语言 时间:
2017-07-31 20:05:48
阅读次数:
177
Hash算法 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值 ...
分类:
其他好文 时间:
2017-07-30 12:43:44
阅读次数:
124
2017-07-29 16:58:13 一、简介 1、Set概念 Set可以理解为集合,非常类似数据概念中的集合,集合三大特征:1、确定性;2、互异性;3、无序性,因此Set实现类也有类似的特征。 2、HashSet HashSet继承自AbstractSet,实现了Set接口,但是其源码非常少,也 ...
分类:
编程语言 时间:
2017-07-29 18:54:20
阅读次数:
299
1. 【强制】 关于 hashCode 和 equals 的处理,遵循如下规则:1) 只要重写 equals,就必须重写 hashCode。2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的对象必须重写这两个方法。3) 如果自定义对象做 ...
分类:
编程语言 时间:
2017-07-29 14:10:19
阅读次数:
188
import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; pub... ...
分类:
其他好文 时间:
2017-07-29 11:42:29
阅读次数:
208
0. Trie数据结构,也就是前缀树。然后dfs时,如果当前形成的单词不在Trie里,就没必要继续dfs下去了。如果当前字符串在trie里,就说明board可以形成这个word。 这道题很好的体现了Trie的优势:不用Trie, 我们就得把String[] words里面的word一个一个去boar ...
分类:
其他好文 时间:
2017-07-28 12:48:07
阅读次数:
205
简介:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。 目的: 总结:使用Iterator避免二次迭代 组成: 1,举例 LinkedList HashSet 2,Main 3,Result ...
分类:
其他好文 时间:
2017-07-27 20:29:42
阅读次数:
170