私は文字列の配列リストを持っており、ある長さ以下の文字列を削除したいと思います。私はこの方法を考えていた:文字列の配列リストをフィルタリングする
for (int i = 0; i < result.size(); i++) {
if (result.get(i).split("\\s").length != maxLength) {
System.out.println(result.get(i));
result.remove(i);
}
}
しかし、それは、その後1を削除するときに削除さ1の代わりに、次のいずれかをシフトしているため、それはほんの数のエントリを削除しています。
for (int i = result.size() - 1; i >= 0; i--) {
if (result.get(i).split("\\s").length != maxLength) {
System.out.println(result.get(i));
result.remove(i);
}
}
何をしようとしていますか?リテラル "\ s"で区切られた文字列によって返される配列の長さをテストしています。私は文字列のリストを見ていないが、私は、テストステートメントが常に1!= maxLengthを評価することを期待しています。 – Zach