// --------------
// Iteration.java
// --------------

import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

final class IterationTest {
    public static void main (String[] args) {
        System.out.println("Iteration.java");

        {
        final long[] a = {2, 4, 6, 8, 10};
              long   s = 0;
              int    i = 0;
        while (i != 5) {
            s += a[i];
            ++i;}
        assert s == 30;
        }

        {
        final long[] a = {2, 4, 6, 8, 10};
              long   s = 0;
              int    i = 0;
        do {
            s += a[i];
            ++i;}
        while (i != 5);
        assert s == 30;
        }

        {
        final long[] a = {2, 4, 6, 8, 10};
              long   s = 0;
        for (int i = 0; i != 5; ++i)
            s += a[i];
        assert s == 30;
        }

        {
        final long[] a = {2, 4, 6, 8, 10};
              long   s = 0;
        for (final long v : a)
            s += v;
        assert s == 30;
        }

        {
        List<Long> x = new LinkedList<Long>();
        x.add(2L);
        x.add(4L);
        x.add(6L);
        x.add(8L);
        x.add(10L);
        long s = 0;
        for (int i = 0; i != 5; ++i)
            s += x.get(i);
        assert s == 30;
        }

        {
        List<Long> x = new LinkedList<Long>();
        x.add(2L);
        x.add(4L);
        x.add(6L);
        x.add(8L);
        x.add(10L);
        long s = 0;
        for (Iterator<Long> p = x.iterator(); p.hasNext();)
            s += p.next();
        assert s == 30;
        }

        {
        List<Long> x = new LinkedList<Long>();
        x.add(2L);
        x.add(4L);
        x.add(6L);
        x.add(8L);
        x.add(10L);
        long s = 0;
        for (final long v : x)
            s += v;
        assert s == 30;
        }

        System.out.println("Done.");}}


syntax highlighted by Code2HTML, v. 0.9.1