Tenho um ArrayList do tipo Integer, suponhamos que eu tenha adicionado 6 valores nele depois dado um Collections.sort(id), e então estes valores se ordenaram na seguinte sequência:
1, 2, 3, 10, 15 e 22. Como faria pra percorrer o ArrayList e pegar o próximo id válido (no caso seria “4”), sendo “id” o nome do ArrayList
Não testei, mas acho que isso resolve:
int proximoIdValido( List<Integer> lista ) {
if (lista.isEmpty()) {
return 0;
}
int atual = lista.get( 0 );
for (int i = 1; i < lista.size(); i++) {
atual = lista.get( i );
int anterior = lista.get( i - 1 );
if (atual - anterior > 1) {
return anterior + 1;
}
}
return atual + 1;
}