List<Integer> weekList = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7));
weekList.removeAll(Arrays.asList(2,3,5));
List<Stack<Integer>> group = new ArrayList<>();
//1,4,6,7
loopA:
for (Integer weekday : weekList) {
for (Stack<Integer> stack : group) {
if (stack.lastElement().equals(weekday - 1)) {
stack.push(weekday);//6
continue loopA;
}
}
Stack<Integer> newStack = new Stack<>();
newStack.push(weekday);//1 3 5
group.add(newStack);//1 3 5
}