public static int[] slice(int[] arr, int start, int end) { int len = end - start + 1; int[] ts = new int[len]; int offset = 0; while (offset < len) { ts[offset] = arr[offset + start]; offset++; } return ts; } public static int[] concate(int[]... arr) { int total = 0; int[] result; for (int i = 0, len = arr.length; i < len; i++) { total += arr[i].length; } result = new int[total]; int index = 0; for (int i = 0, len = arr.length; i < len; i++) { int[] ele = arr[i]; for (int i1 : ele) { result[index++] = i1; } } return result; }