Re: [问题] ArrayList 删除同样元素

楼主: adrianshum (Alien)   2018-04-28 10:00:52
首先你懂list.forEach(),为什么会找不到 removeIf ?
list.removeIf(s->s.equals("1"))
或再精简一点
list.removeIf("1"::equals)
就好了
特地回文是想叫你别太信那网页。把用
iterator 说成“差不多只是jdk 包装一下”
实在把重点放得太错了。这类情况下用
iterator 通常才是正解。原因很多但最重要
的是iterator 的目的本来就是用来迭代
collection 的abstraction. 用同一种做法
就可以处理不同类型的list (想想他第一
种方法用在linked list 会怎样), 也能减少其他问题(performance, concurrent modi
fication
Exception etc)
※ 引述《RX1226 (NO KING)》之铭言:
: 想请版上的高手大大指点一下小弟
: 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或是有更好的处理方式吗?
: 烦请大大指点了
作者: RX1226 (NO KING)   2018-04-30 00:48:00
谢谢大大特地回文解答, 非常感恩~!!

Links booklink

Contact Us: admin [ a t ] ucptt.com