散列表(Hash)
散列表ADT即Hash Table
是一種以常數平均時間進行插入、刪除和查找的技術。
HashMap、HashTable、HashSet,所以涉及到使用Hash值進行優化存儲的地方,都會用到HashCode。HashCode是Key,這種計算為提高計算的性能。想想看,一般來說,數組算是比較快的集合類了吧,直接用index定位元素,簡直就是O(1)的級別。但是添加元素就不這么樂觀了。但是使用hash類的集合,添加元素,移動的元素少,只影響一小塊,并且查找元素,由于hash值已經進行了定位分組,所以也會大大縮小涉及面,快速定位。
1 public static void main(String [] args) { 2 HashSet <Integer> set = new HashSet<Integer>(); 3 set.add(4); 4 set.add(2); 5 set.add(5); 6 System.out.println(set); 7 8 HashMap<String, Integer> map = new HashMap<String, Integer>(); 9 map.put("zhangsan", 19); 10 map.put("lisi", 76); 11 map.put("wangwu", 54); 12 System.out.println(map); 13 }打印結果如下:
[2, 4, 5]
{wangwu=54, lisi=76, zhangsan=19}
?
轉載于:https://www.cnblogs.com/daemonspirit/p/4664417.html
總結
- 上一篇: Matlab中transpose函数的使
- 下一篇: 天龙八部峨眉怎么堆血