最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談list.removeAll()刪除失敗的原因及解決

 更新時(shí)間:2020年12月03日 08:38:54   作者:xiangwang2016  
這篇文章主要介紹了淺談list.removeAll()刪除失敗的原因及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

未重寫hashCode() 和 equals() 方法 ! 在實(shí)體類中重寫這兩個(gè)方法即可

ATTENTION:若實(shí)體類中還有實(shí)體類的屬性,則該實(shí)體類也要重寫這兩個(gè)方法

(實(shí)際開發(fā)中存在刪除失敗的問題,待研究。暫采用Map刪除方式)

實(shí)體類:

public class User {
 private String name;
 private int age;
 private String sex;
  //private Company company; // Company 類也要重寫 hashCode() 和 equals() 方法
 
  //省略getter setter方法
 
 public User(String name, int age, String sex) {
 super();
 this.name = name;
 this.age = age;
 this.sex = sex;
 }
 
 public User() {
 super();
 } 
 
 @Override
 public String toString() {
 return "User [name=" + name + ", age=" + age + ", sex=" + sex + "]";
 }
}

測試類:

import java.util.ArrayList;
import java.util.List;
 
public class TestRemoveAll { 
 public static void main(String[] args) {
 //
 List<User> allList = new ArrayList<User>();
 allList.add(new User("張三",18,"男"));
 allList.add(new User("李四",20,"女"));
 //
 List<User> list = new ArrayList<User>();
 list.add(new User("張三",18,"男"));
 // 測試 
 if(allList.removeAll(list)){
 System.out.println("刪除成功!");
 System.out.println(allList);
 }else{
 System.out.println("刪除失敗!");
 System.out.println(allList);
 }
 }
}

打印結(jié)果:

刪除失??!

[User [name=張三, age=18, sex=男], User [name=李四, age=20, sex=女]]

刪除失敗原因:

未重寫hashCode() 和 equals() 方法 ! 在User類中重寫這兩個(gè)方法即可

則打印結(jié)果:

刪除成功!

[User [name=李四, age=20, sex=女]]

======================================================= 于此相似的問題:

list.contains()方法判斷是否包含自定義對象,實(shí)體類也要重寫這兩個(gè)方法

import java.util.ArrayList;
import java.util.List;
 
public class TestRemoveAll {
 
 public static void main(String[] args) {
 //
 List<User> allList = new ArrayList<User>();
 allList.add(new User("張三",18,"男"));
 allList.add(new User("李四",20,"女"));
 //
 User user = new User("張三",18,"男");
 // 測試 
 if(allList.contains(user)){
 System.out.println("我重寫了hashCode() equals() 方法 ,所以打印此條!");
 }else{
 System.out.println("若未重寫hashCode() equals() 方法 ,則打印此條!");
 }
 } 
}

則打印結(jié)果:

我重寫了hashCode() equals() 方法 ,所以打印此條!

補(bǔ)充知識:list.removeAll()方法異常

list的removeAll方法,可以從集合中移除集合,得到對應(yīng)的補(bǔ)集。

但是,兩種情況下會遇到異常

1.在遍歷集合時(shí)執(zhí)行移除操作。

2.集合是只讀的,不支持remove方法。

例如。Arrays.asList(new Array({})產(chǎn)生的集合。

但是可以采用如下方法結(jié)局異常:

new ArrayList().addAll();

以上這篇淺談list.removeAll()刪除失敗的原因及解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • gateway網(wǎng)關(guān)與前端請求跨域問題的解決方案

    gateway網(wǎng)關(guān)與前端請求跨域問題的解決方案

    這篇文章主要介紹了gateway網(wǎng)關(guān)與前端請求跨域問題的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java面向?qū)ο蠛蛢?nèi)存分析圖文詳解

    Java面向?qū)ο蠛蛢?nèi)存分析圖文詳解

    這篇文章主要給大家介紹了關(guān)于Java面向?qū)ο蠛蛢?nèi)存分析的相關(guān)資料,文章可以讓初學(xué)者順利的分析內(nèi)存,更加容易的體會程序執(zhí)行過程中內(nèi)存的變化,需要的朋友可以參考下
    2021-05-05
  • 基于Maven?pom文件中屬性變量總結(jié)

    基于Maven?pom文件中屬性變量總結(jié)

    這篇文章主要介紹了Maven?pom文件中屬性變量總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • ArrayList集合初始化及擴(kuò)容方式

    ArrayList集合初始化及擴(kuò)容方式

    這篇文章主要介紹了關(guān)于ArrayList集合初始化及擴(kuò)容方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Spring動(dòng)態(tài)添加定時(shí)任務(wù)的實(shí)現(xiàn)思路

    Spring動(dòng)態(tài)添加定時(shí)任務(wù)的實(shí)現(xiàn)思路

    這篇文章主要介紹了Spring動(dòng)態(tài)添加定時(shí)任務(wù)的實(shí)現(xiàn)思路,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Java中的WeakHashMap詳解

    Java中的WeakHashMap詳解

    這篇文章主要介紹了Java中的WeakHashMap詳解,WeakHashMap可能平時(shí)使用的頻率并不高,但是你可能聽過WeakHashMap會進(jìn)行自動(dòng)回收吧,下面就對其原理進(jìn)行分析,需要的朋友可以參考下
    2023-09-09
  • Java實(shí)現(xiàn)簡單無界面五子棋

    Java實(shí)現(xiàn)簡單無界面五子棋

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡單無界面五子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • JAVA驗(yàn)證身份證號碼有效性的實(shí)例代碼

    JAVA驗(yàn)證身份證號碼有效性的實(shí)例代碼

    很多項(xiàng)目業(yè)務(wù)都會設(shè)計(jì)到人員信息,那么身份證號就是必不可少的校驗(yàn)項(xiàng),下面這篇文章主要給大家介紹了關(guān)于JAVA驗(yàn)證身份證號碼有效性的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • spring?cloud之eureka高可用集群和服務(wù)分區(qū)解析

    spring?cloud之eureka高可用集群和服務(wù)分區(qū)解析

    這篇文章主要介紹了spring?cloud之eureka高可用集群和服務(wù)分區(qū)解析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 在IDEA中如何設(shè)置最多顯示文件標(biāo)簽個(gè)數(shù)

    在IDEA中如何設(shè)置最多顯示文件標(biāo)簽個(gè)數(shù)

    在使用IDEA進(jìn)行編程時(shí),可能會同時(shí)打開多個(gè)文件,當(dāng)文件過多時(shí),文件標(biāo)簽會占據(jù)大部分的IDEA界面,影響我們的編程效率,因此,我們可以通過設(shè)置IDEA的文件標(biāo)簽顯示個(gè)數(shù),來優(yōu)化我們的編程環(huán)境,具體的設(shè)置方法如下
    2024-10-10

最新評論

昌黎县| 麻江县| 察隅县| 松阳县| 陵川县| 扬中市| 乐亭县| 黄陵县| 常宁市| 鸡东县| 博乐市| 沅江市| 乌鲁木齐市| 胶南市| 凌海市| 临沧市| 阜宁县| 垫江县| 康保县| 余干县| 兴海县| 财经| 淮滨县| 琼海市| 马公市| 内乡县| 普安县| 巴彦淖尔市| 昭通市| 陇西县| 汪清县| 固阳县| 岢岚县| 乌海市| 万宁市| 乌拉特后旗| 蓝山县| 临沭县| 依兰县| 宜都市| 扎兰屯市|