Collections Data Structure Java

public class InsertSort {
  private long[] number;
  private int nElems;
  public InsertSort(int max) {
    number = new long[max];
    nElems = 0;
  }
  public void insert(long value) {
    number[nElems] = value;
    nElems++;
  }
  public void display() {
    for (int j = 0; j < nElems; j++)
      System.out.print(number[j] + " ");
    System.out.println("");
  }
  public void insertionSort() {
    int in, out;
    //     out is dividing line
    for (out = 1; out < nElems; out++) {
      long temp = number[out]; // remove marked item
      in = out; // start shifts at out
      while (in > 0 && number[in - 1] >= temp) // until one is smaller,
      {
        number[in] = number[in - 1]; // shift item to right
        --in; // go left one position
      }
      number[in] = temp; // insert marked item
    }
  }
  public static void main(String[] args) {
    int maxSize = 100; // array size
    InsertSort arr; // reference to array
    arr = new InsertSort(maxSize); // create the array
    arr.insert(47);
    arr.insert(99);
    arr.insert(44);
    arr.insert(35);
    arr.insert(22);
    arr.insert(88);
    arr.insert(41);
    arr.insert(00);
    arr.insert(16);
    arr.insert(33);
    arr.display();
    arr.insertionSort();
    arr.display();
  }
}