91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

垫江县| 湘乡市| 繁峙县| 玉溪市| 乐安县| 新和县| 长乐市| 札达县| 隆安县| 邳州市| 应用必备| 达孜县| 宜州市| 卓资县| 桑日县| 黄冈市| 张掖市| 蒙城县| 甘谷县| 扎兰屯市| 清新县| 出国| 孝义市| 临沂市| 涪陵区| 都江堰市| 满洲里市| 霞浦县| 福安市| 恩平市| 武陟县| 涡阳县| 四子王旗| 行唐县| 阿合奇县| 江川县| 济南市| 读书| 边坝县| 常宁市| 新宾|