按Java 8中的问题分组

时间:2016-11-20 21:31:32

标签: java-8 mapping collectors

Supossed我有一个叫做“父亲”的java类,里面有一个儿子的List属性(String)。建立一个:Map<String, List<String>>很容易,其中密钥是所有父亲的名字和他所有儿子的价值。

我想知道如何做反向:Map<String, List<String>>,其中键与每个儿子有关,而值是他父亲的名单。考虑到一个儿子可能属于1或2个父亲(父亲和母亲)。

我有这个代码: First Approach

结果是: Result

我想要的结果是例如: 儿子:玛丽亚 - 父亲:[MaríaEugenia,Enrique Alberto] 儿子:奥古斯丁 - 父亲:[MaríaEugenia,Enrique Alberto]

1 个答案:

答案 0 :(得分:2)

因此,解决这个问题的一种方法是将其视为两步操作。第一步是构建1/4/2014 2014-01-04 1/11/1999 1999-01-11 31/5/2015 2015-31-05 25/12/2016 2016-25-12 对流,然后使用groupingBy将该流减少到<Child, Parent>

Map<Child,Parent>