根据特定索引的值从List <int []>中删除一个条目

J.D*_*Doe 1 java int remove-if java-8

我有一个ints类似以下列表:

1318 1065 0
1392 1109 0
1522 1114 2
1764 1134 0
1643 1172 0
1611 1141 0
1608 1142 4
1689 1180 0
1546 1144 0
1811 1121 1
1682 1144 0
1687 1203 0
1751 1138 0
1702 1227 0
Run Code Online (Sandbox Code Playgroud)

我的目标是仅保留第三个元素为0的条目。

我已经尝试过一些方法,例如:

for( int i=0; i<data_fin.size();i++) {
    data_fin.removeIf(s -> !((data_fin.get(i)[2]) == 0));
}
Run Code Online (Sandbox Code Playgroud)

我收到错误消息“我在封闭范围内定义的局部变量必须是最终的或实际上是最终的”。

谁能帮助我了解我在做什么错?我是Java的新手,可能使用的是removeif错误的,所以我将不胜感激!

YCF*_*F_L 8

我的目标是keep仅输入第三个元素为0的条目

您不需要在其中循环,您需要做的只是:

data_fin.removeIf(a -> a[2] != 0);
Run Code Online (Sandbox Code Playgroud)