1. 程式人生 > >java 中hashset 與hashmap的區別

java 中hashset 與hashmap的區別

HashMap和HashSet都是collection框架的一部分,它們讓我們能夠使用物件的集合。collection框架有自己的介面和實現,主要分為Set介面,List介面和Queue介面。它們有各自的特點,Set的集合裡不允許物件有重複的值,List允許有重複,它對集合中的物件進行索引,Queue的工作原理是FCFS演算法(First Come, First Serve)。

*HashMap* *HashSet*
HashMap實現了Map介面 HashSet實現了Set介面
HashMap儲存鍵值對 HashSet僅僅儲存物件
使用put()方法將元素放入map中 使用add()方法將元素放入set中
HashMap中使用鍵物件來計算hashcode值 HashSet使用成員物件來計算hashcode值,對於兩個物件來說hashcode可能相同,所以equals()方法用來判斷物件的相等性,如果兩個物件不同的話,那麼返回false
HashMap比較快,因為是使用唯一的鍵來獲取物件 HashSet較HashMap來說比較慢