【发布时间】:2020-01-29 13:45:07
【问题描述】:
我不认为它被称为“分组”,但我需要实现以下目标: 我有课
class Person {
String name;
Set<String> groups;
}
我有一些人:
- 父亲 => {"工人", "男人"}
- 母亲 => {“女人”}
- 儿子 => {"学生","男人"}
- 女儿 => {"学生","女人"}
因此,每个人都可以属于多个类别。 我想得到以下映射:
"Worker" => {Father}
"Men" => {Father, Son}
"Student" => {Son, Daughter}
"Woman" => {Mother, Daughter}
现在我可以通过手动迭代每个人并将他们发送到Map<String,List<Person>>来做到这一点
我正在尝试找到一个更优雅的 wat 来使用流(或 StreamEx)oneliner,例如:
List<Persons> family= ...;
Map<String,List<Person>> groupped = family.stream().groupByMultipleAttributes(Person::getGroups)
【问题讨论】:
标签: java java-stream streamex