/** * Returns a list that contains all the elements of the input from startIndex (included) to endIndex (included). */ public static <T> List<T> subListInclusive(int startIndex, int endIndex, List<T> input) { List<T> output = new ArrayList<>(); int outputLenth = subLengthInclusive(startIndex, endIndex, input); int i = startIndex; while (output.size() != outputLenth) output.add(getWrap(i++, input)); return output; }
/** * Returns a list that contains all the elements of the input from startIndex (excluded) to endIndex (excluded). */ public static <T> List<T> subListExclusive(int startIndex, int endIndex, List<T> input) { List<T> output = new ArrayList<>(); if (startIndex == endIndex) return output; int outputLenth = subLengthExclusive(startIndex, endIndex, input); int i = startIndex + 1; while (output.size() != outputLenth) output.add(getWrap(i++, input)); return output; }