您的位置:首页 > 其它

散列表(Hash)

2015-07-21 14:32 232 查看
散列表ADT即Hash Table

是一种以常数平均时间进行插入、删除和查找的技术。

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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: