作者RX1226 (NO KING)
看板java
標題[問題] ArrayList 刪除同樣元素
時間Thu Apr 26 01:31:31 2018
想請版上的高手大大指點一下小弟
ArrayList的remove只能移除第一個出現的元素
像是
ArrayList<String> list =
new ArrayList(Arrays.asList("1", "2", "3", "1", "1"));
list.remove("1");
list.forEach(System.out::println);
結果就是 "2","3","1","1"
如果想要移除所有的元素"1"
上網查就是要用for或是Iterator慢慢處理
參考網頁:
http://www.51gjie.com/java/299.html
不知道配合Lambda或是有更好的處理方式嗎?
煩請大大指點了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.101.103
※ 文章網址: https://www.ptt.cc/bbs/java/M.1524677495.A.EE2.html
→ ssccg: 不管用什麼方法底層處理都還是差不多的啊 04/26 02:00
→ ssccg: 如果只是想用現有API一行做,不是有removeAll? 04/26 02:00
→ ssccg: list.removeAll(Collections.singleton("1")); 04/26 02:09
→ rabido: 你用lambda也是在迭代呀,底層做的事情是一樣的. 04/26 09:29
→ RX1226: 瞭解了, 謝謝大大們的指點~ 04/26 11:14
→ adrianshum: l.removeIf(s-> s.equals("1")); 04/27 08:05
→ kogrs: 那用不能塞重複item 的list 呢? 04/28 11:57
→ kogrs: org.apache.commons.collections4.list.SetUniqueList 04/28 11:58