java中HashSet的特點及實例用法
1、HashSet和TreeSet區(qū)別
HashSet底層使用Hash表。
確保元素唯一性的原理:判斷元素的hashCode值是否相同。如果是一樣的話,會繼續(xù)判斷元素的equals方法是否是true。
TreeSet底層采用紅黑樹。
確保元素的唯一性是通過Comparable或Comparator接口實現(xiàn)的。
2、HashSet和HashMap區(qū)別
事實上,HashSet的底層實現(xiàn)還是HashMap,只是它只使用了Key,具體如下:
(1)在HashSet的add方法的底層,使用HashMap的put方法將key=e,value=PRESENT構建成key-value鍵值對,當e存在于HashMap的key中時,value將覆蓋原來的value,但key保持不變,因此,如果在HashSet中添加了一個已經(jīng)存在的e元素,新添加的元素就不會存在于HashMap中,因此這就滿足了HashSet中元素不會重復的特性。
(2)HashSet的contains方法使用HashMap得到containsKey方法。
知識點擴展:
HashSet 中的元素實際上是對象,一些常見的基本類型可以使用它的包裝類。
| 基本類型 | 引用類型 |
| boolean | Boolean |
| byte | Byte |
| short | Short |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| char | Character |
HashSet 類位于 java.util 包中,使用前需要引入它,語法格式如下:
import java.util.HashSet; // 引入 HashSet 類
以下實例我們創(chuàng)建一個 HashSet 對象 sites,用于保存字符串元素:
HashSet<String> sites = new HashSet<String>();
到此這篇關于java中HashSet的特點及實例用法的文章就介紹到這了,更多相關java中HashSet的使用特點內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mybatis3使用@Select等注解實現(xiàn)增刪改查操作
這篇文章主要介紹了mybatis3使用@Select等注解實現(xiàn)增刪改查操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
Java實現(xiàn)Excel批量導入數(shù)據(jù)
這篇文章主要為大家詳細介紹了Java實現(xiàn)Excel批量導入數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-08-08
基于Spring的Maven項目實現(xiàn)發(fā)送郵件功能的示例
這篇文章主要介紹了基于Spring的Maven項目實現(xiàn)發(fā)送郵件功能,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
java拷貝指定目錄下所有內(nèi)容到minIO代碼實例
這篇文章主要介紹了java拷貝指定目錄下所有內(nèi)容到minIO代碼實例,創(chuàng)建桶 直接使用工具類先判斷,再創(chuàng)建即可,創(chuàng)建文件夾,需要注意以"/"結尾,實際也是在minIO上創(chuàng)建文件,只是作為目錄的表現(xiàn)形式展示,需要的朋友可以參考下2024-01-01

