課程
/后端開發(fā)
/Java
/Java入門第三季
為什么刪除集合中的元素,首先要定義一個數(shù)組,然后調(diào)用集合的removeAll() ?然后把這個數(shù)組轉(zhuǎn)換成list傳進去,這是為什么呢
2016-05-10
源自:Java入門第三季 4-9
正在回答
因為list在循環(huán)中的時候是不可以刪除它的元素的其實更簡單的就是使用迭代器Iterator, 然后用迭代器remove
qq_咦呆著啊_0 提問者
import?java.util.ArrayList; import?java.util.Arrays; import?java.util.Iterator; import?java.util.List; import?java.util.Scanner; import?org.omg.CORBA.PUBLIC_MEMBER; public?class?ListTest?{ public?List?listSelect; public?ListTest(){ this.listSelect=new?ArrayList();//因為List是個借口不能直接實例化,就運用到了這個接口的一個實現(xiàn)類 ???????????????????????????//ArrayList的實現(xiàn)類趨勢線這個接口; } public?void?listAdd(){ chilCourse?chilCour=new?chilCourse("D1","DW"); Course?[]courses={ // chilCour, new?Course("A1","大學英語"),new?Course("A2","大學語文"), new?Course("B1","高等數(shù)學"),new?Course("C1",?"線性代數(shù)"), new?Course("C2",?"高等代數(shù)")}; listSelect.addAll(Arrays.asList(courses)); } } public?void?remove(){ System.out.println("請輸入要刪除的課程號碼"); Scanner?input=new?Scanner(System.in); String?str1=input.next(); for(int?i=0;i<listSelect.size();i++){ Course?cour=(Course)?listSelect.get(i); String?str2=(cour).getId(); if(str1.equalsIgnoreCase(str2)){ System.out.println("您即將要刪除的課程名是:"+cour.getName()+"\n確定刪除嗎?"); String?str3=input.next(); if(str3.equalsIgnoreCase("t")){ // listSelect.remove(i); listSelect.remove(cour); System.out.println("刪除成功!"); iter(); } else?? return; }else?? continue; } } public??void?iter(){ ?Iterator?it=listSelect.iterator(); while(it.hasNext()){ Object?c?=?it.next(); if((c.getClass()).getName().equalsIgnoreCase("Course")){ Course?cw=(Course)?c; System.out.println(cw.getId()+ ""+cw.getName()); } //當添加了其他類型的對象進去的遍歷方法; // if((c.getClass()).getName().equalsIgnoreCase("Student")){ // Student?stu=(Student)?c; // System.out.println(stu.getId()+ // ""+stu.getName());} } } public?static?void?main(String[]?args)?{ ???????????ListTest?listTest=new?ListTest(); ???????????listTest.listAdd(); ???????????System.out.println(); ????????????listTest.iter(); ????????????listTest.remove(); } }
還可以添加循環(huán)一直進行輸入的哈,
如果繁星能來到我身邊
qq_咦呆著啊_0 提問者 回復 如果繁星能來到我身邊
如果繁星能來到我身邊 回復 qq_咦呆著啊_0 提問者
qq_隨想之風_03202251
你要刪除的是那個集合中的元素,肯定要先取出來(由于不是泛型還需)強制轉(zhuǎn)換成Course類型的,而且removeAll(collection c)傳進去的是list的實例吧,你還需要把數(shù)組變成list對象。最后運用這個方法。
我覺得還可以直接讓用戶輸入要刪除的課程號或者名字,用remove()直接進行刪除,當然怎樣實現(xiàn)可以想一下。
想清空list序列集合中的所有元素可以用clear()方法,此API函數(shù)返回值是void。
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
3 回答List集合中能否有方法同時刪除多個位置的元素?求解
2 回答刪除同一元素
1 回答用removeAll刪除元素
3 回答HashSet中的remove功能無法刪除元素
2 回答按索引位置刪除元素的方法也可以獲取刪除元素
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-05-10
因為list在循環(huán)中的時候是不可以刪除它的元素的
其實更簡單的就是使用迭代器Iterator, 然后用迭代器remove
2016-05-10
還可以添加循環(huán)一直進行輸入的哈,
2016-05-10
你要刪除的是那個集合中的元素,肯定要先取出來(由于不是泛型還需)強制轉(zhuǎn)換成Course類型的,而且removeAll(collection c)傳進去的是list的實例吧,你還需要把數(shù)組變成list對象。最后運用這個方法。
我覺得還可以直接讓用戶輸入要刪除的課程號或者名字,用remove()直接進行刪除,當然怎樣實現(xiàn)可以想一下。
2016-05-10
想清空list序列集合中的所有元素可以用clear()方法,此API函數(shù)返回值是void。