Could you tell me if there are other loop expressions which Java programmer must be able to read?
final List<String> names = Arrays.asList("Alice", "Bob", "Carol", "Dave", "Eve");
System.out.println("Pattern 1:");
for (int i = 0; i < names.size(); i++) {
System.out.println(names.get(i));
}
System.out.println("Pattern 2:");
Iterator<String> iterator = names.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
System.out.println("Pattern 3:");
for (String name : names) {
System.out.println(name);
}
System.out.println("Pattern 4:");
names.forEach(new Consumer<String>() {
@Override
public void accept(String name) {
System.out.println(name);
}
});
System.out.println("Pattern 5:");
names.forEach((String name) -> {System.out.println(name);});
System.out.println("Pattern 6:");
names.forEach((String name) -> System.out.println(name));
System.out.println("Pattern 7:");
names.forEach(name -> System.out.println(name));
System.out.println("Pattern 8:");
names.forEach(System.out::println);
System.out.println("Pattern 9:");
names.stream().forEach(System.out::println);