導航:首頁 > 編程語言 > java中的hashset

java中的hashset

發布時間:2023-01-26 04:42:23

1. java中的HASHSET和HASHMap的底層實現是怎樣的大致講一下。

HASHSET:底層是將你加入其中的對象進行HASH排列後在放的時候,對比你放入的對象在其中是否有相同的對象存在,如果存在就不放入,反之放入。
HASHMAP:底層是將你加入其中的對象進行HASH排列後在放的時候,將key和對應的value發在一起,可以隨時用key找到value,所以其中如果你讓如相同的key但value不同時,後者value會替換前者。
所以,如果你不希望存相同的值是,用HASHSET,你希望能很方便的用key找到value時,用HASHMAP.

2. java中hashset和hashmap 有什麼特點。

什麼是HashSet
HashSet實現了Set介面,它不允許集合中有重復的值,當我們提到HashSet時,第一件事情就是在將對象存儲在HashSet之前,要先確保對象重寫equals()和hashCode()方法,這樣才能比較對象的值是否相等,以確保set中沒有儲存相等的對象。如果我們沒有重寫這兩個方法,將會使用這個方法的默認實現。
public boolean add(Object o)方法用來在Set中添加元素,當元素值重復時則會立即返回false,如果成功添加的話會返回true。
什麼是HashMap
HashMap實現了Map介面,Map介面對鍵值對進行映射。Map中不允許重復的鍵。Map介面有兩個基本的實現,HashMap和TreeMap。TreeMap保存了對象的排列次序,而HashMap則不能。HashMap允許鍵和值為null。HashMap是非synchronized的,但collection框架提供方法能保證HashMap synchronized,這樣多個線程同時訪問HashMap時,能保證只有一個線程更改Map。
public Object put(Object Key,Object value)方法用來將元素添加到map中。
你可以閱讀這篇文章看看HashMap的工作原理,以及這篇文章看看HashMap和HashTable的區別。
HashSet和HashMap的區別
*HashMap* *HashSet*
HashMap實現了Map介面 HashSet實現了Set介面
HashMap儲存鍵值對 HashSet僅僅存儲對象
使用put()方法將元素放入map中 使用add()方法將元素放入set中
HashMap中使用鍵對象來計算hashcode值 HashSet使用成員對象來計算hashcode值,對於兩個對象來說hashcode可能相同,所以equals()方法用來判斷對象的相等性,如果兩個對象不同的話,那麼返回false
HashMap比較快,因為是使用唯一的鍵來獲取對象 HashSet較HashMap來說比較慢

3. Java HashSet的用法

HashSet
set
=
new
HashSet();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
Iterator
it
=
set.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
=======================================================
上面就是遍歷沖hashset中取出每個元素的方法,由於hashset本來就是無序的,所以你如果想通過下標取出元素的話,最好還是用list,你以什麼順序把元素放進去,就可以什麼順序把元素取出來

閱讀全文

與java中的hashset相關的資料

熱點內容
android點贊功能 瀏覽:328
露鳥同志電影 瀏覽:281
《外出》未刪減版韓國 瀏覽:16
外出完整140分鍾版本 瀏覽:728
香港電影走光 瀏覽:328
初級初中生編程 瀏覽:697
在阿姨鬼混還是鬼片 瀏覽:127
老年人愛愛的電影 瀏覽:900
與365dni類似的電影推薦 瀏覽:986
伺服器上的soc什麼意思 瀏覽:885
朱藝彬年輕的姐夫 瀏覽:396
怎麼刪除梅花視頻 瀏覽:361
尋緣app在哪裡下載 瀏覽:301
男同激情電影 瀏覽:392
macpdf轉換成word 瀏覽:584
框架柱尺寸加密 瀏覽:732
韓國電影一男的做鴨 瀏覽:488
女主和爸爸哥哥在一起的小說 瀏覽:731
伺服器什麼時候買最便宜 瀏覽:786
最刺激的床戲電影 瀏覽:752