Parte do meu código:
public List filtra(List contas) {
Calendar dataAtual = Calendar.getInstance();
Iterator iterator = contas.iterator();
while (iterator.hasNext()) {
Conta c2 = iterator.next();
if (c2.getDataCriacao().get(Calendar.MONTH) == dataAtual .get(Calendar.MONTH) && c2.getDataCriacao().get(Calendar.YEAR) == dataAtual .get(Calendar.YEAR))
contas.remove(c2);
}
return (filtro == null ? contas : filtro.filtra(contas)); }
A lógica é pegar as contas que foram criadas neste mês remove-las da minha lista. O problema é que eu recebo a exception java.util.ConcurrentModificationException na linha Conta c2 = iterator.next(); Sei que tem algo a ver com eu estar modificando uma lista durante a iteração. Mas não sei bem o motivo disto. O meu algoritmo tem por objetivo receber uma lista de contas, remover as contas que foram criadas este mes e passar esta lista para outro objeto. (outro filtro no caso).
Alguem pode ajudar?