作者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://webptt.com/cn.aspx?n=bbs/java/M.1524677495.A.EE2.html
1F:→ ssccg: 不管用什麽方法底层处理都还是差不多的啊 04/26 02:00
2F:→ ssccg: 如果只是想用现有API一行做,不是有removeAll? 04/26 02:00
3F:→ ssccg: list.removeAll(Collections.singleton("1")); 04/26 02:09
4F:→ rabido: 你用lambda也是在迭代呀,底层做的事情是一样的. 04/26 09:29
5F:→ RX1226: 了解了, 谢谢大大们的指点~ 04/26 11:14
6F:→ adrianshum: l.removeIf(s-> s.equals("1")); 04/27 08:05
7F:→ kogrs: 那用不能塞重复item 的list 呢? 04/28 11:57
8F:→ kogrs: org.apache.commons.collections4.list.SetUniqueList 04/28 11:58