第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

removeAll()方法問題

課程中講到removeAll方法的用途如下

Course[] crToRemove = {(Course)coursesToSelect.get(1),(Course)coursesToSelect.get(2)};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

如果我把(Course)coursesToSelect.get(1)換成一個(gè)Course對象還能不能刪除對應(yīng)數(shù)據(jù)呢?像下面這樣(方式2)

Course[] crToRemove = {new Course(2, "C語言"),new Course(3, "數(shù)學(xué)")};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

我測試了一下,沒有刪除,是因?yàn)榉绞?中的new?Course(2, "C語言")重新聲明了一個(gè)對象,跟List中的對象不一樣嗎?

正在回答

3 回答

我也是新手,個(gè)人見解,如有錯(cuò)誤請見諒。

Course[] crToRemove = {(Course)coursesToSelect.get(1),(Course)coursesToSelect.get(2)};

就相當(dāng)于根據(jù)索引get到了兩個(gè)值,放在了數(shù)組中。然后直接移除兩個(gè)值。

Course[] crToRemove = {new Course(2, "C語言"),new Course(3, "數(shù)學(xué)")};

這一步做添加操作的時(shí)候就會做,是新聲明兩個(gè)元素,然后add到集合中。 這里要注意的是 2,3 并不是集合的索引,而是你添加的元素,替換成“任意值”也是一個(gè)性質(zhì)。 所以你remove的時(shí)候沒有得到索引,根本無法執(zhí)行刪除操作。


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

迷茫的土撥鼠 提問者

嗯嗯,是這樣的,無論是對象還是索引值都是不同的,積分拿去
2017-11-08 回復(fù) 有任何疑惑可以回復(fù)我~

是這樣的:

Course[] crToRemove = {(Course)coursesToSelect.get(1),(Course)coursesToSelect.get(2)};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

這種方法是從集合中獲取到之前添加的對象放到數(shù)組中,然后統(tǒng)一刪除從集合中獲取到的所有數(shù)據(jù),能刪除沒問題;

Course[] crToRemove = {new Course(2, "C語言"),new Course(3, "數(shù)學(xué)")};

coursesToSelect.removeAll(Arrays.asList(crToRemove));

這種方式,是新創(chuàng)建兩個(gè)對象(這兩個(gè)新創(chuàng)建的對象和之前的已經(jīng)在集合中添加過相同id和相同名字的對象,不能看做是同一個(gè)對象,最起碼兩者內(nèi)存地址是不相同的),新創(chuàng)建的兩個(gè)對象并不存在集合中,所以刪除失;

理解下面代碼你就明白了:

Course a=new Course(2, "C語言");

Course?b=new Course(2, "C語言");

a和b雖然屬性id和name相同,卻是不同的對象(堆內(nèi)存中的位置不同),a放入集合中,然后在集合中移出b,肯定失敗,因?yàn)榧现懈緵]有存放b;如果集合中同時(shí)放入a和b,兩者索引也不會相同;



1 回復(fù) 有任何疑惑可以回復(fù)我~

嗯嗯,是這樣的,無論是對象還是索引值都是不同的,積分拿去

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java入門第三季
  • 參與學(xué)習(xí)       409767    人
  • 解答問題       4510    個(gè)

Java中你必須懂得常用技能,不容錯(cuò)過的精彩,快來加入吧

進(jìn)入課程

removeAll()方法問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號