奇妙な問題が発生しました。これには数分かかると思いましたが、今は数時間苦労しています...これが私が得たものです:
for (int i = 0; i < size; i++){
if (data.get(i).getCaption().contains("_Hardi")){
data.remove(i);
}
}
これdata
はArrayList.
、ArrayListにいくつかの文字列(合計14個程度)があり、そのうちの9個に_Hardiという名前が付いています。
そして、上記のコードでそれらを削除したいと思います。_HardiがArrayListに9回含まれているので、それをreplace data.remove(i);
使用すると、System.out.println
何かが9回出力されます。これは良いことです。
しかし、私が使用するdata.remove(i);
と、9つすべてが削除されるわけではなく、ごく一部が削除されます。私はいくつかのテストを行いました、そして私はこれも見ました:
文字列の名前を次のように変更すると、Hardi1 Hardi2 Hardi3 Hardi4 Hardi5 Hardi6
次に、偶数(1、3、5など)のみを削除します。彼はいつも1をスキップしていますが、理由がわかりません。
これを修正する方法は?それとも、それらを削除する別の方法ですか?