Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
标准库中包括Set和Map的散列实现,即HashSet类和HashMap类。HashSet的实现直接借助了HashMap。JDK中是使用...
分类:
编程语言 时间:
2016-07-10 19:02:21
阅读次数:
205
* 1、继承自抽象类 AbstractSet,实现接口 Set、Cloneable、Serializable; * 2、元素无顺序; * 3、元素不可重复; * 4、采用哈希算法插入数据,插入速度快; * 5、非线程安全,轻量级; * 6、由于实现了接口 Cloneable,故此可以被复制; * 7 ...
分类:
其他好文 时间:
2016-07-09 22:06:55
阅读次数:
149
Java 散列表 hash table @author ixenos hash table, HashTable, HashMap, HashSet hash table 是一种数据结构 hash table 为每个对象计算一个整数,该整数被称为散列码 hash code hash code 是由对 ...
分类:
编程语言 时间:
2016-07-08 21:39:18
阅读次数:
238
1.1 Set.add方法——向Set集合添加对象 public static void main(String[] args) { Set set = new HashSet(); //定义Set集合对象 set.add(new Date()); //向集合中添加日期对象 set.add("app ...
分类:
其他好文 时间:
2016-07-07 19:00:18
阅读次数:
162
在每个覆盖equals方法的类中,也必须覆盖hashCode方法。否则,会违反Object.hashCode的通用约定,从而导致该类无法结合所有基于散列的集合一起正常工作,包括HashMap,HashSet,Hashtbale。 hashCode约定内容: 1.只要对象equals方法的比较操作所用 ...
分类:
其他好文 时间:
2016-07-06 10:00:17
阅读次数:
105
list,set,map,数组间的相互转换1.list转setSet set = new HashSet(new ArrayList()); 2.set转listList list = new ArrayList(new HashSet()); 3.数组转为listList stooges = Ar ...
分类:
编程语言 时间:
2016-07-05 13:53:33
阅读次数:
186
需要唯一吗? 需要:Set 需要制定顺序吗? 需要:TreeSet 不需要:HashSet 但是想要一个和存储一致的顺序(有序):LinkedHashSet 不需要:List 需要频繁增删吗? 需要:LinkedList 不需要:ArrayList 如何记录每一个容器的结构和所属体系呢? 看名字 L ...
分类:
编程语言 时间:
2016-07-05 10:21:16
阅读次数:
196
要点: 1、Collection接口为所有集合类提供了共同方法(映射除外,映射是通过Map接口描述的) 2、列表是一个有序集合,其中的每个元素都有一个整数索引 3、set针对高效包含测试进行过优化。Java提供了HashSet和TreeSet实现 4、对映射来说,可以选择HashMap或TreeMa ...
分类:
编程语言 时间:
2016-07-04 23:48:00
阅读次数:
403
两数组的交 两数组的交 样例:nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2]. 解答一:用两个HashSet 解答二:对两个数组排序,然后各用一个指针遍历。 解答三:对num2排序,然后遍历num1中的数,在num2中进行二分查找,找到就放入set中。 ...
分类:
编程语言 时间:
2016-07-03 19:01:01
阅读次数:
125
分析HashMap和HashSet的内核实现原理,从源代码的角度去分析和理解它们...
分类:
其他好文 时间:
2016-07-02 21:34:39
阅读次数:
217