Java tutorial
import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.ListIterator; public class Main { public static void main(String[] args) { List<Integer> numbers = new ArrayList<Integer>(); for (Integer i : Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7)) numbers.add(i); printList(numbers); // 0,1,2,3,4,5,6,7 // replaces each element with twice its value for (int index = 0; index < numbers.size(); index++) { numbers.set(index, numbers.get(index) * 2); } printList(numbers); // does nothing because list is not being changed for (Integer number : numbers) { number++; } printList(numbers); // same as above -- just different syntax for (Iterator<Integer> iter = numbers.iterator(); iter.hasNext();) { Integer number = iter.next(); number++; } printList(numbers); for (ListIterator<Integer> iter = numbers.listIterator(); iter.hasNext();) { Integer number = iter.next(); iter.add(number + 1); } printList(numbers); for (Iterator<Integer> iter = numbers.iterator(); iter.hasNext();) { Integer number = iter.next(); if (number % 2 == 0) // if number is even iter.remove(); // remove it from the collection } printList(numbers); // 1,3,5,7,9,11,13,15 // ListIterator<?> has a "set" method to replace elements for (ListIterator<Integer> iter = numbers.listIterator(); iter.hasNext();) { Integer number = iter.next(); iter.set(number / 2); // divide each element by 2 } printList(numbers); // 0,1,2,3,4,5,6,7 // Use Java 8 Lambda List<Integer> list = numbers; list.stream().forEach(elem -> System.out.println("element " + elem)); } public static void printList(List<Integer> numbers) { System.out.println(numbers); } }