I have a List name availableSeats I am sorting and grouping by the blockIndex property like below:
availableSeats.stream() .sorted(Comparator.comparing(SeatedTicketAssignment::getBlockIndex)) .collect(Collectors.groupingBy(SeatedTicketAssignment::getBlockIndex)) .forEach((block, blockAssignments) -> { //Rest of the code } The problem is that the result of grouping by is not sorted by the blockIndex.