亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java HashSet集合存儲(chǔ)遍歷學(xué)生對(duì)象代碼實(shí)例

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

由于Set集合是不存儲(chǔ)重復(fù)元素的,所以在做此案例時(shí),如果我正常添加一個(gè)重復(fù)元素是什么結(jié)果呢?

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

    //創(chuàng)建學(xué)生對(duì)象
    Student s1 = new Student("愛(ài)學(xué)習(xí)", 21);
    Student s2 = new Student("愛(ài)Java", 22);
    Student s3 = new Student("堅(jiān)持不懈", 23);

    Student s4 = new Student("愛(ài)Java", 22);

    //把學(xué)生添加到集合
    hashSet.add(s1);
    hashSet.add(s2);
    hashSet.add(s3);
    hashSet.add(s4);

    //遍歷集合(增強(qiáng)for循環(huán))
    for (Student s : hashSet) {
      System.out.println(s.getName() + "," + s.getAge());
    }
  }
}

運(yùn)行結(jié)果:

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

在對(duì)象類中重寫(xiě)hashCode方法和equals方法后(自動(dòng)生成即可)運(yùn)行上面的代碼,運(yùn)行結(jié)果:

可見(jiàn),重復(fù)的元素未被添加到集合。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    Java.lang.OutOfMemoryError: GC overhead limit

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

    JAXB簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了JAXB簡(jiǎn)介的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • idea一招搞定同步所有配置(導(dǎo)入或?qū)С鏊信渲?

    idea一招搞定同步所有配置(導(dǎo)入或?qū)С鏊信渲?

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

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

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

    java8 LocalDate LocalDateTime等時(shí)間類用法實(shí)例分析

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

    Spring配置多數(shù)據(jù)源導(dǎo)致事物無(wú)法回滾問(wèn)題

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

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

    下面小編就為大家分享一篇java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • Java全面分析面向?qū)ο笾庋b

    Java全面分析面向?qū)ο笾庋b

    或許大家都聽(tīng)說(shuō)過(guò)java是純面向?qū)ο笳Z(yǔ)言,面向?qū)ο笏枷胍簿褪俏覀兂Uf(shuō)的OOP,我們聽(tīng)說(shuō)最多的思想就是繼承,封裝,多態(tài),今天我們來(lái)講一講封裝
    2022-04-04
  • Nacos負(fù)載均衡策略總結(jié)

    Nacos負(fù)載均衡策略總結(jié)

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

最新評(píng)論