-bash-4.1$ cat R624.java
import java.util.*;

class R624 {
  public static void main(String[] args) {
    ArrayList<Integer> values = new ArrayList<Integer>();
    values.add( 1 );
    values.add( 2 );
    values.add( 5 );
    values.add( 5 );
    values.add( 3 );
    values.add( 1 );
    values.add( 2 );
    values.add( 4 );
    values.add( 3 );
    values.add( 2 );
    values.add( 2 );
    values.add( 2 );
    values.add( 2 );
    values.add( 3 );
    values.add( 6 );
    values.add( 5 );
    values.add( 5 );
    values.add( 6 );
    values.add( 3 );
    values.add( 1 );
    System.out.println( values );
    // what does values look like at this stage?
    ArrayList<ArrayList<Integer>> runs = new ArrayList<ArrayList<Integer>>();
    for (Integer elem : values) {
      ArrayList<Integer> run = new ArrayList<Integer>();
      run.add( elem );
      runs.add( run );
    }
    System.out.println( runs );
    // what does runs look like at this stage?
    for (int i = 0; i < runs.size()-1; i++) {
      if (runs.get(i).get(0) == runs.get(i+1).get(0)) {
        runs.get(i).add(runs.get(i+1).get(0));
        runs.remove(i+1);
      }
    }
    System.out.println( runs );
    // what does runs look like at this stage?
  }
}


-bash-4.1$ javac R624.java
-bash-4.1$ java R624
[1, 2, 5, 5, 3, 1, 2, 4, 3, 2, 2, 2, 2, 3, 6, 5, 5, 6, 3, 1]
[[1], [2], [5], [5], [3], [1], [2], [4], [3], [2], [2], [2], [2], [3], [6], [5], [5], [6], [3], [1]]
[[1], [2], [5, 5], [3], [1], [2], [4], [3], [2, 2], [2, 2], [3], [6], [5, 5], [6], [3], [1]]
-bash-4.1$