您好,登錄后才能下訂單哦!
本篇內容主要講解“如何實現Java HashSet集合存儲遍歷學生對象”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現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()); } } }
運行結果:
通過運行結果,我們發現,重復的元素仍然被添加進去,是什么原因呢? 根據源碼分析和HashSet底層數據結構可以知道,如果兩個對象的哈希值相同(hashCode方法),并且對象的內容也相同(equals方法),是不會存儲在哈希表的。所以我們需要在被存儲的對象類中重寫hashCode方法和equals方法,來解決添加了重復元素的問題。
在對象類中重寫hashCode方法和equals方法后(自動生成即可)運行上面的代碼,運行結果:
可見,重復的元素未被添加到集合。
到此,相信大家對“如何實現Java HashSet集合存儲遍歷學生對象”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。