我试图ForEach通过组合该removeIf方法使用Java 8中的操作来执行操作.但是我得到了错误.
我无法在以下程序中组合forEach和removeIf:
public class ForEachIterator {
public static void main(String[] args) {
List<Integer> ints = new ArrayList<Integer>();
for (int i = 0; i < 10; i++) {
ints.add(i);
}
System.out.println(ints);
// Getting the Error in next line
ints.forEach(ints.removeIf(i -> i%2 ==0));
System.out.println(ints);
}
}
Run Code Online (Sandbox Code Playgroud)
Ros*_*rew 26
没有必要forEach,Lambda表达式将适用于集合的所有元素
ints.removeIf(i -> i%2==0)
Run Code Online (Sandbox Code Playgroud)
removeIf:" 删除此集合中满足给定谓词的所有元素 "
只是...
对于iset ()中的每个element(),ints如果(removeIf)谓词(i%2==0)为true ,则将其删除.这将作用于原始集合,如果删除了任何元素,则返回true.