public void delete() {
    double[][] nv = new double[values.length][values[POS].length - 1];
    for (int i = 0; i < values.length; i++) {
      int k = 0;
      for (int j = 0; j < values[i].length; j++) {
        if (selected != j) {
          nv[i][k] = values[i][j];
          k++;
        }
      }
    }
    values = nv;
    if (selected == nv[POS].length) {
      selected--;
    }
    update();
  }
The CycleModel of a collection of  KeyCycles for a single property
ConstraintLayoutExamples/CycleEditor/src/com/google/androidstudio/motionlayoutcycles/CycleModel.java