Re: [問題] ArrayList 刪除同樣元素

看板java作者 (Alien)時間6年前 (2018/04/28 10:00), 編輯推噓1(100)
留言1則, 1人參與, 6年前最新討論串3/3 (看更多)
首先你懂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
文章代碼(AID): #1QuzNNnk (java)
討論串 (同標題文章)
文章代碼(AID): #1QuzNNnk (java)