我有这些类。
从上到下,直到我到达颜色为止,它不会有任何重复的条目。所以即使一些物种在另一个域中,它们也可以拥有相同的颜色。而且单个物种可以有不同的颜色。
给定一个父级LivingOrganism,我想用某种颜色过滤listOfDomain。
我用经典的嵌套for循环做了这件事,但是有4个嵌套for,代码看起来不太好看。我试图使用java 8 flatmap和filter来获得更优雅的代码,但是我花了几个小时没有成功。 我甚至在MSPaint中画了一个糟糕的图表 假设我想要获取可以是蓝色的List或所有可以是蓝色的的列表。我该怎么做?
任何帮助都将不胜感激。
class LivingOrganism
{
List<Domain> listOfDomain;
}
class Domain
{
List<Species> listOfSpecies;
}
class Species
{
List<Color> listOfColor;
}
class Color
{
String color;
}
从上到下,直到我到达颜色为止,它不会有任何重复的条目。所以即使一些物种在另一个域中,它们也可以拥有相同的颜色。而且单个物种可以有不同的颜色。
给定一个父级LivingOrganism,我想用某种颜色过滤listOfDomain。
我用经典的嵌套for循环做了这件事,但是有4个嵌套for,代码看起来不太好看。我试图使用java 8 flatmap和filter来获得更优雅的代码,但是我花了几个小时没有成功。 我甚至在MSPaint中画了一个糟糕的图表 假设我想要获取可以是蓝色的List或所有可以是蓝色的的列表。我该怎么做?
任何帮助都将不胜感激。
listOf...
)。当你意识到,比如说,在给定的“域”中,一个“物种”不应该出现超过一次时,你可能会想将集合实现为Set<Species>
而不是List
,这时变量名就不再与实现相匹配了。这是不好的。变量的命名应该基于其领域目的,而不是其实现方式。(当你决定一个给定的“物种”只存在于一个“域”中时,你可能会做出更激进的改变)。 - Lew Bloch