Collectors.groupingBy, основанный на вложенном статическом свойстве класса

Чтобы проиллюстрировать, что говорят другие ответы:

$ foo="Hello, World"
$ echo $foo
Hello, World
$ bar="Goodbye"
$ export foo
$ bash
bash-3.2$ echo $foo
Hello, World
bash-3.2$ echo $bar

bash-3.2$ 
2
задан Deadpool 16 January 2019 в 22:50
поделиться

2 ответа

College.Dept::getName

является Function<College.Dept, String>. Он не принимает College в качестве ввода.

Используйте лямбду, чтобы построить Function<College, String>:

groupingBy(c -> c.getDept().getName())
0
ответ дан Andy Turner 16 January 2019 в 22:50
поделиться

Вы можете попробовать это:

Map<String, List<College>> map = 
         list.stream()
             .collect(groupingBy(college -> college.getDept().getDeptName()));

Обновление:

Эти два наблюдения могут быть не по теме, хотя я считаю, что их стоит упомянуть: ]

  1. Идентифицированно ли заглавная буква идентификатора свойства класса CollegeName? Я настоятельно рекомендую использовать один и тот же стиль кодирования во всем коде.

  2. Похоже, вам нужно переосмыслить иерархию данных (даже если это просто учебная задача). Соотношение между College и Dept должно быть не one-to-one, а one-to-many.

0
ответ дан ETO 16 January 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: