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