Re: [問題] ArrayList 刪除同樣元素
首先你懂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或是有更好的處理方式嗎?
: 煩請大大指點了
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.19.42.107
※ 文章網址: https://www.ptt.cc/bbs/java/M.1524880855.A.C6E.html
推
04/30 00:48,
6年前
, 1F
04/30 00:48, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章