球探球探网足球手机 > Java資訊 > Java set集合元素簡單匯總解析

即时比分球探比分下载:Java set集合元素簡單匯總解析

更新時間:2020-05-29 15:16 瀏覽112次 來源:動力節點

球探球探网足球手机 www.607737.live

Set接口簡介


Set接口和List接口一樣,同樣繼承自Collection接口,它與Collection接口中的方法基本一致,并沒有對Collection接口進行功能上的擴充,它是比Collection接口更加嚴格了。與List接口不同的是,Set接口元素無序,并且都會以某種規則保證存入的元素不出現重復。


Set接口主要有兩個實現類,分別是HashSet和TreeSet。其中,HashSet根據對象的哈希值來確定元素在集合中的存儲位置,因此具有良好的存取和查找性能。TreeSet則是以二叉樹的方式來存儲元素,它可以實現對集合中的元素進行排序


HashSet集合


HashSet是Set接口的一個實現類,它所存儲的元素是不可重復的,并且元素都是無序的。當向HashSet集合中添加一個對象時,首先會調用該對象的hashCode()方法來計算對象的哈希值,從而確定元素的存儲位置。如果此哈希值相同,再調用對象的equals()方法來確保該位置沒有重復元素。Set集合與List集合存取元素的方式都一樣。


通過一個案例來演示HashSet集合的用法:


Java set集合元素簡單匯總解析

結論:


當向集合中存入元素時,為了保證HashSet正常工作,要求在存入對象時,重寫Object類中的hashCode和equals()方法。


上述案例將字符串存入HashSet時,String類已經重寫了hashCode()和equals()方法。但是如果將Student對象存入HashSet,結果又會怎樣呢?


Java set集合元素簡單匯總解析


Student類重寫了Object類的hashCode()和equals()方法。在hashCoded()方法中返回id屬性的哈希值,在equals()方法中比較對象的id屬性是否相等,并返回結果。當調用HashSet集合的add()方法添加stu3對象時,發現它的哈希值與stu2對象相同,而且stu2.equals(stu3)返回true。HashSet集合認為兩個對象相同,因此重復的Student對象對成功去除了。


以上就是動力節點java培訓機構的小編針對“Java set集合元素簡單匯總解析”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


熱門課程推薦

全部班型支持免費試學

動力節點在線報名表(此信息已加密,請放心填寫)

返回頂部
{ganrao} 平特三连肖最准网站 上海天天彩选4开奖时间 五分彩赚钱能提出来吗 个股走势图怎么看 福彩快三 四川麻将规则 泳坛夺金投注技巧 河南快3一定牛预测 终于发现fg美人捕鱼有挂吗 股票交易软件 一肖一马彩资料 中国nba 韩国快乐8官网现场开奖 股票软件app下载排名 3d试机号预测 山西11选5任二遗漏