小编sta*_*kyi的帖子

过滤嵌套对象 java 8

我有这些课

class LivingOrganism
{
    List<Domain> listOfDomain;
}

class Domain
{
    List<Species> listOfSpecies;
}

class Species
{
    List<Color> listOfColor;
}

class Color
{
    String color;
}
Run Code Online (Sandbox Code Playgroud)

从上到下,在我到达颜色之前,它不会有任何重复的条目。因此,某些物种即使在另一个域中也可以具有相同的颜色。一个单一的物种可以有不同的颜色。

给定一个父 LivingOrganism,我想用某种颜色过滤一个 listOfDomain。

我是在经典的嵌套 for 循环中完成的,但是使用 4 个嵌套 for,代码看起来并不漂亮。我试图使用 java 8 flatmap 和 filter 来获得一些更优雅的代码,但我花了几个小时没有成功。

我什至在 MSPaint 中绘制了一个糟糕的图形

假设我想得到List<Species>可以是蓝色的或List<Domain>所有Species可以是蓝色的。我该如何进行?

任何帮助,将不胜感激

java java-8 java-stream

6
推荐指数
1
解决办法
3827
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1