亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Java HashSet集合存儲遍歷學生對象

發布時間:2021-03-08 17:13:36 來源:億速云 閱讀:216 作者:TREX 欄目:編程語言

本篇內容主要講解“如何實現Java HashSet集合存儲遍歷學生對象”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現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());
    }
  }
}

運行結果:

如何實現Java HashSet集合存儲遍歷學生對象

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

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

如何實現Java HashSet集合存儲遍歷學生對象

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

到此,相信大家對“如何實現Java HashSet集合存儲遍歷學生對象”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贡嘎县| 买车| 电白县| 观塘区| 长岭县| 毕节市| 名山县| 连江县| 天长市| 河北区| 阳山县| 平邑县| 丰原市| 垦利县| 博乐市| 海丰县| 体育| 安吉县| 武宣县| 静海县| 通州市| 义马市| 富顺县| 遵义县| 南江县| 沂南县| 黄浦区| 景宁| 巨鹿县| 泾川县| 马山县| 商水县| 阿克苏市| 美姑县| 高青县| 汾西县| 盐池县| 陕西省| 桐庐县| 沾益县| 缙云县|