list java removeif_java – removeIf()方法.从List中删除所有元素
我有一個用戶列表,我想從我的列表中刪除id為
其實(shí)我這樣做:
[...]
int pid1 = 1;
int pid2 = 2;
int pid3 = 3;
Predicate personPredicate1 = p-> p.getPid() == pid1;
Predicate personPredicate2 = p-> p.getPid() == pid2;
Predicate personPredicate3 = p-> p.getPid() == pid3;
list.removeIf(personPredicate1);
list.removeIf(personPredicate2);
list.removeIf(personPredicate3);
[...]
我想我不使用正確的方法?
解決方法:
使用單個removeIf:
list.removeIf(p -> p.getPid() < 3);
編輯:
根據(jù)您發(fā)布的錯誤,您嘗試從不可變集合中刪除元素,這是不可能的.
您可以創(chuàng)建原始列表的副本并從副本中刪除元素:
List copy = new ArrayList<>(list);
copy.removeIf(p -> p.getPid() < 3);
標(biāo)簽:java,predicate
來源: https://codeday.me/bug/20190722/1499909.html
總結(jié)
以上是生活随笔為你收集整理的list java removeif_java – removeIf()方法.从List中删除所有元素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GEF & EMF ,GMF 简
- 下一篇: java api管理工具_一个能快速写出