私はを削除しようとしていますリストがテキストファイルに含まれていれば、リストの要素です。例えばリストから要素を削除するとforループが増加しないのですか?
:文字列"Person123
が場合は、「テキストファイルにあった[文字列"Person123"
は、リストから削除する必要があります以下
私の現在の試みであるしかし、私は繰り返し処理の問題を取得しています。 『』マイリスト、int
値は、2つのではなく、文字列のみの要素の1つは削除される原因となっているインクリメントしていないようです、私はこの問題を解決するにはどうすればよい
現在のコードを:。?
for (Map.Entry<Person, List<String>> entry : mapOfPeopleAndDescriptions.entrySet()) {
List<String> textFileValues= readFromTextFile(filePath);
List<String> myList = entry.getValue();
for (int i = 0; i < myList.size(); i++) {
if(textFileValues.contains(myList.get(i)){
LOGGER.info("In loop- int: {}",i);
myList.remove(myList.get(i));
}
LOGGER.info("Out of loop- int: {}",i);
}
}
出力私は取得しています:
In loop- int: 0
Out of loop- int: 0
Out of loop- int: 1
Out of loop- int: 0
Out of loop- int: 1
Out of loop- int: 0
リストを逆方向に反復します。また、 'myList.remove(i)'を使用してください。あるいは、 'Iterator'を使用してください。 –
@AndyTurnerあなたはどういう意味ですか? – java123999
'for(int i = myList.size(); i> = 0; i--){' –