[問題] ArrayList 刪除同樣元素

作者: RX1226 (NO KING)   2018-04-26 01:31:31
想請版上的高手大大指點一下小弟
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或是有更好的處理方式嗎?
煩請大大指點了
作者: ssccg (23)   2018-04-26 02:00:00
不管用什麼方法底層處理都還是差不多的啊如果只是想用現有API一行做,不是有removeAll?list.removeAll(Collections.singleton("1"));
作者: rabido   2018-04-26 09:29:00
你用lambda也是在迭代呀,底層做的事情是一樣的.
作者: RX1226 (NO KING)   2018-04-26 11:14:00
瞭解了, 謝謝大大們的指點~
作者: adrianshum (Alien)   2018-04-27 08:05:00
l.removeIf(s-> s.equals("1"));
作者: kogrs (kogrs)   2018-04-28 11:57:00
那用不能塞重複item 的list 呢?org.apache.commons.collections4.list.SetUniqueList

Links booklink

Contact Us: admin [ a t ] ucptt.com