import java.util.ArrayList; import java.util.Iterator; import java.util.Random; public class IteratingTest { /** * @param args */ public static void main(String[] args) { ArrayList numbers = new ArrayList(); Random rand = new Random(); for(int i = 0; i < 10; i++){ numbers.add(rand.nextInt(100)); } //this won't work /* int index = 0; for(int x: numbers){ if(x % 2 == 0){ numbers.remove(index); } else { index++; } } */ //use an iterator instead Iterator iterator = numbers.iterator(); while(iterator.hasNext()){ int x = iterator.next(); if(x % 2 == 0){ //remove the current item iterator.remove(); } } for(int x: numbers){ System.out.print(x + " "); } System.out.println(); } }