欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年04月09日 09:23:43   作者:硬盤紅了  
這篇文章主要介紹了Java HashSet集合存儲遍歷學生對象代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

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

public class HashSetDemo {
  public static void main(String[] args) {
    //創(chuàng)建HashSet集合對象
    HashSet<Student> hashSet = new HashSet<Student>();

    //創(chuàng)建學生對象
    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循環(huán))
    for (Student s : hashSet) {
      System.out.println(s.getName() + "," + s.getAge());
    }
  }
}

運行結果:

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

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

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

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

相關文章

  • 利用Java簡單實現(xiàn)一個代碼行數(shù)統(tǒng)計器方法實例

    利用Java簡單實現(xiàn)一個代碼行數(shù)統(tǒng)計器方法實例

    這篇文章主要給大家介紹了關于如何利用Java簡單實現(xiàn)一個代碼行數(shù)統(tǒng)計器的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • Java.lang.OutOfMemoryError: GC overhead limit exceeded錯誤的解決

    Java.lang.OutOfMemoryError: GC overhead limit

    本文主要介紹了Java.lang.OutOfMemoryError: GC overhead limit exceeded錯誤的解決,錯誤是由于堆空間不足導致GC頻繁運行,從而引起的,下面就來介紹一下解決方法
    2025-03-03
  • JAXB簡介_動力節(jié)點Java學院整理

    JAXB簡介_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了JAXB簡介的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • idea一招搞定同步所有配置(導入或導出所有配置)

    idea一招搞定同步所有配置(導入或導出所有配置)

    使用intellij idea很長一段時間,軟件相關的配置也都按照自己習慣的設置好,如果需要重裝軟件,還得需要重新設置,本文就詳細的介紹了idea 同步所有配置,感興趣的可以了解一下
    2021-07-07
  • 詳解Spring循環(huán)依賴的解決方案

    詳解Spring循環(huán)依賴的解決方案

    這篇文章主要介紹了詳解Spring循環(huán)依賴的解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • java8 LocalDate LocalDateTime等時間類用法實例分析

    java8 LocalDate LocalDateTime等時間類用法實例分析

    這篇文章主要介紹了java8 LocalDate LocalDateTime等時間類用法,結合具體實例形式分析了LocalDate、LocalTime、LocalDateTime等日期時間相關類的功能與具體使用技巧,需要的朋友可以參考下
    2017-04-04
  • Spring配置多數(shù)據(jù)源導致事物無法回滾問題

    Spring配置多數(shù)據(jù)源導致事物無法回滾問題

    這篇文章主要介紹了Spring配置多數(shù)據(jù)源導致事物無法回滾問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • java實現(xiàn)遠程桌面的實例代碼

    java實現(xiàn)遠程桌面的實例代碼

    下面小編就為大家分享一篇java實現(xiàn)遠程桌面的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Java全面分析面向對象之封裝

    Java全面分析面向對象之封裝

    或許大家都聽說過java是純面向對象語言,面向對象思想也就是我們常說的OOP,我們聽說最多的思想就是繼承,封裝,多態(tài),今天我們來講一講封裝
    2022-04-04
  • Nacos負載均衡策略總結

    Nacos負載均衡策略總結

    Nacos 作為目前主流的微服務中間件,包含了兩個頂級的微服務功能:配置中心和注冊中心,本文給大家總結了幾種Nacos負載均衡策略,通過圖文結合介紹的非常詳細,需要的朋友可以參考下
    2023-11-11

最新評論