HashMap使用的数据结构,专业术语“链表散列”,代码实 ```java /** * 定义了一个Entry的数组用来存储数据。 */ transient Entry[] table; ``` ```java /** * Entry是内部定义的类 */ static class Entry implem...
分类:
编程语言 时间:
2015-03-05 19:41:15
阅读次数:
160
常用加密算法
哈希(散列)函数MD5
SHA1
SHA256
对称加密算法DES
3DES (使用3个密钥,对相同的数据执行三次加密,强度增强)
AES (高级密码标准,美国国家安全局使用的)
苹果的钥匙串访问就是使用 AES 加密的!
ECB 密码本加密
CBC 密码链条加密
非对称加密算法(RSA)
RSA - 加密算法!算法是公开的!”公钥”加密,”私钥”解密
“私钥”加密...
分类:
编程语言 时间:
2015-03-04 09:48:34
阅读次数:
214
Java中关于HashMap的元素遍历的顺序问题 发现得到的元素不是按照之前加入HashMap的顺序输出的,这个问题我之前倒是没有注意过,后来上网查了一下原因,发现是:HashMap散列图、Hashtable散列表是按“有利于随机查找的散列(hash)的顺序”。并非按输入顺序。遍历时只能全部输出.....
分类:
其他好文 时间:
2015-03-03 18:06:03
阅读次数:
110
【 声明:版权全部,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 hash表,有时候也被称为散列表。个人觉得,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,可是数据查找十分麻烦;二叉树中的数据严格有序,可是这是以多一个指针作为代价的结果。ha...
分类:
编程语言 时间:
2015-03-02 22:14:57
阅读次数:
191
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不须要支付不论什么版权费用。MD5功能: 输入随意长度的信息,经过处理,输出为128位的信息(数字指纹); 不同的输入得到的不同的结果(唯一性); ...
分类:
编程语言 时间:
2015-03-02 20:52:44
阅读次数:
198
HashSet根据每个对象的哈希码值(调用hashCode()获得)用固定的算法算出它的存储索引,把对象存放在一个叫散列表的相应位置(表元)中:存对象时,hashSet集合首先调用该对象的hashCode方法来获得该对象的hashCode值,与hash表中的值进行比较。如果不存在,则直接把该对象存入集合..
分类:
编程语言 时间:
2015-02-28 00:24:45
阅读次数:
179
序
上一篇文章中介绍了基本的单向加密算法 — — MD5,也大致的说了说它实现的原理。这篇文章继续之前提到的单向加密,主要讲的是 SHA,同 MD5 一样,SHA 同样也是一个系列,它包括 SHA-1,SHA-224,SHA-256,SHA-384,和 SHA-512 等几种算法。其中,SHA-1,SHA-224 和 SHA-256 适用于长度不超过 2^64 二进制位的消息。SHA-3...
分类:
编程语言 时间:
2015-02-27 11:56:40
阅读次数:
197
有一千万行重复的短信,以文本文件的形式保存,一行一条,有重复。如何找出重复次数最多的10条?可以用哈希表的方法对1千万条分成若干组进行边扫描边建散列表。第一次扫描,取首字节,尾字节,中间随便两字节作为HashCode,插入到hashtable中。并记录其地址和信息长度和重复次..
分类:
编程语言 时间:
2015-02-20 00:16:16
阅读次数:
198
在很多地方都看到了散列表(hash表)这种数据结构。 基本原理:提供一个散列函数,把不同的关键字映射到不同的存储单元。 问题1)信息怎么来存储?是用数组还是链表?如果用数组,数组大小又如何来确定? 问题2)如果确定散列函数? 问题3)不同的关键字一定能映射到不用的存储单元么?如果不能,又如何来处理....
分类:
其他好文 时间:
2015-02-15 16:31:02
阅读次数:
121
动态hash方法之一本文将介绍三种动态hash方法。散列是一个非常有用的、非常基础的数据结构,在数据的查找方面尤其重要,应用的非常广泛。然而,任何事物都有两面性,散列也存在缺点,即数据的局部集中性会使散列的性能急剧下降,且越集中,性能越低。数据集中,即搜索键在通过hash函数运算后,得到同一个结果,...
分类:
其他好文 时间:
2015-02-15 10:38:42
阅读次数:
252