// ---------
// Swap.java
// ---------

import java.util.List;

final class Swap {
    /**
     * O(1) in space
     * O(1) in time
     */
    public static void eval (long[] a, int i, int j) {
        final long v = a[i];
        a[i] = a[j];
        a[j] = v;}

    /**
     * O(1) in space
     * O(1) in time
     */
    public static void eval (Object[] a, int i, int j) {
        final Object v = a[i];
        a[i] = a[j];
        a[j] = v;}

    /**
     * O(1) in space
     * O(1) in time
     */
    public static <T> void eval (List<T> x, int i, int j) {
        T v = x.get(i);
        x.set(i, x.get(j));
        x.set(j, v);}

    /**
     * O(1) in space
     * O(n) in time
     */
    public static void eval (long[] a, int i, int j, int n) {
        while (n > 0) {
            eval(a, i, j);
            ++i;
            ++j;
            --n;}}
    /**
     * O(1) in space
     * O(n) in time
     */
    public static void eval (Object[] a, int i, int j, int n) {
        while (n > 0) {
            eval(a, i, j);
            ++i;
            ++j;
            --n;}}}


syntax highlighted by Code2HTML, v. 0.9.1