public static List> groupBy(List
data) { if (data == null) { return new ArrayList<>(); } Collections.sort(data); List > result = new ArrayList<>(); List
group = null; for (Integer value : data) { if (group == null || group.get(group.size() - 1) + 1 != value) { group = new ArrayList<>(); result.add(group); } group.add(value); } return result; } public static void main(String[] args) { List > res = groupBy(Arrays.asList(14, 1, 2, 3, 4, 7, 11, 12, 13, 17, 18)); System.out.println(res); }



