看板 java 關於我們 聯絡資訊
想請版上的高手大大指點一下小弟 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://www.ptt.cc/bbs/java/M.1524677495.A.EE2.html
ssccg: 不管用什麼方法底層處理都還是差不多的啊 04/26 02:00
ssccg: 如果只是想用現有API一行做,不是有removeAll? 04/26 02:00
ssccg: list.removeAll(Collections.singleton("1")); 04/26 02:09
rabido: 你用lambda也是在迭代呀,底層做的事情是一樣的. 04/26 09:29
RX1226: 瞭解了, 謝謝大大們的指點~ 04/26 11:14
adrianshum: l.removeIf(s-> s.equals("1")); 04/27 08:05
kogrs: 那用不能塞重複item 的list 呢? 04/28 11:57
kogrs: org.apache.commons.collections4.list.SetUniqueList 04/28 11:58