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

Remove an entry from a List<int[]> based on the value of of a specific index

我有一个 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

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

我尝试了一些方法,例如:

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

我收到错误 'Local variable i defined in an enclosing scope must be final or effectively final'。

任何人都可以帮助我理解我做错了什么吗?我是 Java 的新手,可能 removeif 使用有误,非常感谢您的帮助!

My goal is to keep only entries where the third element is a 0

你不需要循环,你只需要:

data_fin.removeIf(a -> a[2] != 0);