import java.util.* ;
import java.lang.* ;
class Main {
ArrayList< Integer> x = new ArrayList< Integer> ( ) ;
x.add ( 1 ) ; x.add ( 2 ) ; x.add ( 3 ) ; x.add ( 4 ) ; x.add ( 5 ) ;
for ( int i = 0 ; i < x.size ( ) ; i++ ) {
if ( i % 2 == 0 ) { //retira os elementos pares
x.remove ( i) ;
}
System .
out .
println ( "Tamanho atual = " + x.
size ( ) + ", i = " + i
) ; //só para ajudar visualizar }
for ( int i
= 0 ; i
< x.
size ( ) ; i
++ ) System .
out .
println ( x.
get ( i
) ) ; System .
out .
println ( "---------------------" ) ; x = new ArrayList< Integer> ( ) ;
x.add ( 1 ) ; x.add ( 2 ) ; x.add ( 3 ) ; x.add ( 4 ) ; x.add ( 5 ) ;
int tamanho = x.size ( ) ;
for ( int i = 0 ; i < tamanho; i++ ) {
if ( i % 2 == 0 ) x.remove ( i) ;
System .
out .
println ( "Tamanho atual = " + x.
size ( ) + ", i = " + i
) ; //só para ajudar visualizar }
for ( int i
= 0 ; i
< x.
size ( ) ; i
++ ) System .
out .
println ( x.
get ( i
) ) ; }
}
//https://pt.stackoverflow.com/q/152521/101
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CgpjbGFzcyBNYWluIHsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbiB7CgkJQXJyYXlMaXN0PEludGVnZXI+IHggPSBuZXcgQXJyYXlMaXN0PEludGVnZXI+KCk7CgkJeC5hZGQoMSk7IHguYWRkKDIpOyB4LmFkZCgzKTsgeC5hZGQoNCk7IHguYWRkKDUpOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgeC5zaXplKCk7IGkrKykgewoJCQlpZiAoaSAlIDIgPT0gMCkgeyAvL3JldGlyYSBvcyBlbGVtZW50b3MgcGFyZXMKCQkJCXgucmVtb3ZlKGkpOwoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRsbigiVGFtYW5obyBhdHVhbCA9ICIgKyB4LnNpemUoKSArICIsIGkgPSAiICsgaSk7IC8vc8OzIHBhcmEgYWp1ZGFyIHZpc3VhbGl6YXIKCQl9CgkJU3lzdGVtLm91dC5wcmludGxuKCItLS0iKTsKCQlmb3IgKGludCBpID0gMDsgaSA8IHguc2l6ZSgpOyBpKyspIFN5c3RlbS5vdXQucHJpbnRsbih4LmdldChpKSk7CgkJU3lzdGVtLm91dC5wcmludGxuKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKCQl4ID0gbmV3IEFycmF5TGlzdDxJbnRlZ2VyPigpOwoJCXguYWRkKDEpOyB4LmFkZCgyKTsgeC5hZGQoMyk7IHguYWRkKDQpOyB4LmFkZCg1KTsKCQlpbnQgdGFtYW5obyA9IHguc2l6ZSgpOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgdGFtYW5obzsgaSsrKSB7CgkJCWlmIChpICUgMiA9PSAwKSB4LnJlbW92ZShpKTsKCQkJU3lzdGVtLm91dC5wcmludGxuKCJUYW1hbmhvIGF0dWFsID0gIiArIHguc2l6ZSgpICsgIiwgaSA9ICIgKyBpKTsgLy9zw7MgcGFyYSBhanVkYXIgdmlzdWFsaXphcgoJCX0KCQlTeXN0ZW0ub3V0LnByaW50bG4oIi0tLSIpOwoJCWZvciAoaW50IGkgPSAwOyBpIDwgeC5zaXplKCk7IGkrKykgU3lzdGVtLm91dC5wcmludGxuKHguZ2V0KGkpKTsKCX0KfQoKLy9odHRwczovL3B0LnN0YWNrb3ZlcmZsb3cuY29tL3EvMTUyNTIxLzEwMQ==
stdout
Tamanho atual = 4, i = 0
Tamanho atual = 4, i = 1
Tamanho atual = 3, i = 2
---
2
3
5
---------------------
Tamanho atual = 4, i = 0
Tamanho atual = 4, i = 1
Tamanho atual = 3, i = 2
Tamanho atual = 3, i = 3
stderr
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 4 out of bounds for length 3
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
at java.base/java.util.Objects.checkIndex(Objects.java:372)
at java.base/java.util.ArrayList.remove(ArrayList.java:535)
at Main.main(Main.java:21)