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

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

removeAll原理?

老師在課程中將Course類寫成數(shù)組,并運(yùn)用removeAll()方法去掉了List類型的對(duì)象coursesToSelect中的相同屬性的元素,于是我想,可不可以通過同樣為List類型的對(duì)象來代替這個(gè)數(shù)組達(dá)成刪除的目的,我首先實(shí)驗(yàn)了以下代碼:

//第1個(gè)代碼

public static void main(String[] args) {

???? List clas = new ArrayList();

???? clas.add(new classes(1,"Miker"));

???? clas.add(new classes(2,"Chen"));

???? clas.add(new classes(3,"Joker"));

???? clas.add(new classes(4,"Li"));

????

???? List clas2 = new ArrayList();

???? clas2.add(new classes(3,"Joker"));

???? clas2.add(new classes(4,"Li"));

???? for(Object o:clas) {

???????? classes obj = (classes)o;

???????? System.out.println("id:"+obj.id+" name:"+obj.name);

???? }

????clas.removeAll(clas2);

???? for(Object o:clas) {

???????? classes obj = (classes)o;

???????? System.out.println("id:"+obj.id+" name:"+obj.name);

????}

}

我發(fā)現(xiàn)第2,3兩個(gè)元素并沒有被刪除,于是參考老師的方法直接從原List對(duì)象中g(shù)et元素,

//第2個(gè)代碼

public static void main(String[] args) {

???? List clas = new ArrayList();

???? clas.add(new classes(1,"Miker"));

???? clas.add(new classes(2,"Chen"));

???? clas.add(new classes(3,"Joker"));

???? clas.add(new classes(4,"Li"));

????

???? List clas2 = new ArrayList();

???? clas2.add(clas.get(2));

???? clas2.add(clas.get(3));


???? for(Object o:clas) {

???????? classes obj = (classes)o;

???????? System.out.println("id:"+obj.id+" name:"+obj.name);

???? }


????clas.removeAll(clas2);


???? for(Object o:clas) {

???????? classes obj = (classes)o;

???????? System.out.println("id:"+obj.id+" name:"+obj.name);

????}

}

這樣就可以成功刪除了,請(qǐng)問這是因?yàn)槭裁茨兀?br />

正在回答

1 回答

  1. 首先第1個(gè)代碼中的clas2中的元素其實(shí)與clas中的第3,4個(gè)元素只是值相同,他們的引用地址是不同的。因?yàn)閏las2中的元素是重新申請(qǐng)內(nèi)存空間,創(chuàng)建了"Joker"、“Li”。也就是說clas和clas2中只是有兩個(gè)值相同的元素。

  2. 第2個(gè)代碼成功的原因,其實(shí)由上述1可以知道。通過clas2.add(clas.get(2));添加的元素是與clas中元素的引用地址相同,因此能夠通過clas2刪除clas中的元素。

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

舉報(bào)

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

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

進(jìn)入課程

removeAll原理?

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

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

幫助反饋 APP下載

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

公眾號(hào)

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