[问题] 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