У меня есть группа студентов. Сначала я хочу сгруппировать их по меткам. Затем я хочу еще больше сгруппировать эти наборы в студентов с одинаковыми именами.
Map<Integer,Map<String,List<String>>> groupping = students.stream()
.collect(Collectors.groupingBy(Student::getMarks,
Collectors.mapping(Student::getName,Collectors.toList())));
Я получаю сообщение об ошибке,
На нестатический метод нельзя ссылаться из статического контекста.
Да. Я прекрасно понимаю, что не могу ссылаться на нестатический метод, не имея экземпляра. Но со всеми этими потоковыми операциями я немного смущен тем, что на самом деле пошло не так.
Вместо того, как это исправить; Я действительно хочу знать, что здесь происходит. Любой ваш вклад приветствуется!
Потому что если я напишу, что приведенная ниже группировка полностью действительна;
Map<Integer,List<Student>> m = students.stream().
collect(Collectors.groupingBy(Student::getMarks));
Вот мой класс Student.java (если вам это нужно)
public class Student {
private String name;
private int marks;
// getters, setters, constructor and toString
}
Student
в самом внутреннемList
. - person Jude Niroshan   schedule 23.10.2016