[問題] ArrayList 刪除同樣元素

看板java作者 (NO KING)時間6年前 (2018/04/26 01:31), 編輯推噓0(008)
留言8則, 5人參與, 6年前最新討論串1/3 (看更多)
想請版上的高手大大指點一下小弟 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

04/26 02:00, 6年前 , 1F
不管用什麼方法底層處理都還是差不多的啊
04/26 02:00, 1F

04/26 02:00, 6年前 , 2F
如果只是想用現有API一行做,不是有removeAll?
04/26 02:00, 2F

04/26 02:09, 6年前 , 3F
list.removeAll(Collections.singleton("1"));
04/26 02:09, 3F

04/26 09:29, 6年前 , 4F
你用lambda也是在迭代呀,底層做的事情是一樣的.
04/26 09:29, 4F

04/26 11:14, 6年前 , 5F
瞭解了, 謝謝大大們的指點~
04/26 11:14, 5F

04/27 08:05, 6年前 , 6F
l.removeIf(s-> s.equals("1"));
04/27 08:05, 6F

04/28 11:57, 6年前 , 7F
那用不能塞重複item 的list 呢?
04/28 11:57, 7F

04/28 11:58, 6年前 , 8F
org.apache.commons.collections4.list.SetUniqueList
04/28 11:58, 8F
文章代碼(AID): #1QuBjtxY (java)
文章代碼(AID): #1QuBjtxY (java)