散列表(Hash)
2015-07-21 14:32
232 查看
散列表ADT即Hash Table
是一种以常数平均时间进行插入、删除和查找的技术。
HashMap、HashTable、HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode。HashCode是Key,这种计算为提高计算的性能。想想看,一般来说,数组算是比较快的集合类了吧,直接用index定位元素,简直就是O(1)的级别。但是添加元素就不这么乐观了。但是使用hash类的集合,添加元素,移动的元素少,只影响一小块,并且查找元素,由于hash值已经进行了定位分组,所以也会大大缩小涉及面,快速定位。
打印结果如下:
[2, 4, 5]
{wangwu=54, lisi=76, zhangsan=19}
是一种以常数平均时间进行插入、删除和查找的技术。
HashMap、HashTable、HashSet,所以涉及到使用Hash值进行优化存储的地方,都会用到HashCode。HashCode是Key,这种计算为提高计算的性能。想想看,一般来说,数组算是比较快的集合类了吧,直接用index定位元素,简直就是O(1)的级别。但是添加元素就不这么乐观了。但是使用hash类的集合,添加元素,移动的元素少,只影响一小块,并且查找元素,由于hash值已经进行了定位分组,所以也会大大缩小涉及面,快速定位。
public static void main(String [] args) { HashSet <Integer> set = new HashSet<Integer>(); set.add(4); set.add(2); set.add(5); System.out.println(set); HashMap<String, Integer> map = new HashMap<String, Integer>(); map.put("zhangsan", 19); map.put("lisi", 76); map.put("wangwu", 54); System.out.println(map); }
打印结果如下:
[2, 4, 5]
{wangwu=54, lisi=76, zhangsan=19}
相关文章推荐
- 使用xca生成SSL证书
- 【tomacat集群】Linux或 window配置多个Tomcat同时运行-完美解决-未来星开发团队-费元星
- NPOI 1.1
- HTML学习笔记——CSS初涉
- lamp编译安装--在一台机子上实验
- spring下载地址
- PAT (Basic Level) Practise (中文)1023. 组个最小数 (20)C语言
- Android管理篇
- 关于 overridePendingTransition()使用
- X32和X64平台下不同数据类型对应的字节数
- Longest Common Prefix
- 组合模式
- ExtJS学习-------Ext正确Dom操作:Ext.get Ext.fly Ext.getDom
- android == 和 equals
- 文件上传1
- keytool 生成证书
- PAT (Basic Level) Practise (中文)1021. 个位数统计 (15) C语言
- Intent的简介以及属性的详解
- Activity用法详解
- 胡翌霖:比特币多重签名技术的应用场景