For do this you can use :
.stream().sorted(new Comparator<MyObject>() { @Override public int compare(MyObject o1, MyObject o2) { return o1.getId().compareTo(o2.getId()); } })
Look a real example where I ‘m using sorted plus groupingBy.
myMap = myList.getQuestions() .stream().sorted(new Comparator<MyObject>() { @Override public int compare(MyObject o1, MyObject o2) { return o1.getId().compareTo(o2.getId()); } }) .collect(groupingBy(Question::Category));