У меня есть следующий фрагмент кода:
private String toString(List<DrugStrength> aDrugStrengthList) {
StringBuilder str = new StringBuilder();
for (DrugStrength aDrugStrength : aDrugStrengthList) {
if (!aDrugStrength.isValidDrugDescription()) {
aDrugStrengthList.remove(aDrugStrength);
}
}
str.append(aDrugStrengthList);
if (str.indexOf("]") != -1) {
str.insert(str.lastIndexOf("]"), "\n " );
}
return str.toString();
}
Когда я пытаюсь запустить его, я получаю ConcurrentModificationException
, может ли кто-нибудь объяснить, почему это происходит, даже если код работает в одном потоке? И как я мог избежать этого?