亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Java HashSet集合存儲遍歷學生對象代碼實例

瀏覽:93日期:2022-09-03 09:08:58

Java HashSet集合存儲遍歷學生對象代碼實例

由于Set集合是不存儲重復元素的,所以在做此案例時,如果我正常添加一個重復元素是什么結果呢?

public class HashSetDemo { public static void main(String[] args) { //創建HashSet集合對象 HashSet<Student> hashSet = new HashSet<Student>(); //創建學生對象 Student s1 = new Student('愛學習', 21); Student s2 = new Student('愛Java', 22); Student s3 = new Student('堅持不懈', 23); Student s4 = new Student('愛Java', 22); //把學生添加到集合 hashSet.add(s1); hashSet.add(s2); hashSet.add(s3); hashSet.add(s4); //遍歷集合(增強for循環) for (Student s : hashSet) { System.out.println(s.getName() + ',' + s.getAge()); } }}

運行結果:

Java HashSet集合存儲遍歷學生對象代碼實例

通過運行結果,我們發現,重復的元素仍然被添加進去,是什么原因呢? 根據源碼分析和HashSet底層數據結構可以知道,如果兩個對象的哈希值相同(hashCode方法),并且對象的內容也相同(equals方法),是不會存儲在哈希表的。所以我們需要在被存儲的對象類中重寫hashCode方法和equals方法,來解決添加了重復元素的問題。

在對象類中重寫hashCode方法和equals方法后(自動生成即可)運行上面的代碼,運行結果:

Java HashSet集合存儲遍歷學生對象代碼實例

可見,重復的元素未被添加到集合。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 色接久久 | 国产麻豆精品hdvideoss | 日本久久久久久久中文字幕 | 欧美精品午夜 | 丁香婷婷激情综合 | 一级毛片a| 国产91精品在线播放 | 国产精品杨幂va在线观看 | 久久久久女人精品毛片 | 国产精品香蕉 | 国产欧美日韩精品一区二 | 精品一本久久中文字幕 | 中文字幕欧美日韩高清 | 国产精品videosse | 久久精品视频99精品视频150 | 日本aaaa毛片在线看 | 床上毛片| 国产成人精品免费视频 | 国产免费又色又爽又黄在线观看 | 欧美日韩大尺码免费专区 | 韩国一级黄色 | 伊人久久久久久久久久 | 四虎永久免费鲁大师 | 国内三级视频 | 国产精品大白天新婚身材 | 黄色综合 | 国产亚洲精品va在线 | 久久九九精品视频 | xvideos视频国产chinese | 久久国内精品自在自线软件 | 国产三级在线免费观看 | 国产成人精品视频午夜 | 大尺度做爰视频吃奶www | 片在线观看视频免费 | 美国一级黄色片 | 国产专区视频在线观看 | 欧美亚洲在线视频 | 久久se精品一区二区影院 | 国产s色| 国产日产欧美一区二区三区 | 哪有黄色网址 |