中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何實現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

巴彦县| 正阳县| 漠河县| 康平县| 桂东县| 茂名市| 尚志市| 仁布县| 泸溪县| 连江县| 佛坪县| 梓潼县| 昌宁县| 汤阴县| 工布江达县| 聂拉木县| 富川| 瓦房店市| 徐闻县| 剑河县| 古交市| 安陆市| 平定县| 东丽区| 宜兰市| 资阳市| 石城县| 榆树市| 阿克苏市| 遂宁市| 老河口市| 温州市| 收藏| 廉江市| 手游| 长寿区| 鄂托克前旗| 怀远县| 凤山市| 锡林浩特市| 横山县|