【发布时间】:2019-12-25 03:43:39
【问题描述】:
我有一个名为“foodList”的列表,其中包含“Food”类型的元素。对象 Food 包含一个名为“category”的列表,类型为“Category”。
我目前正在实施一种搜索算法,通过排除某些类别来过滤食物。
排除的类别存储在名为“excludedCategories”的列表中。
如何使用 Java 8 和流,通过排除其 categoryLists 包含 excludeCategories 列表的任何元素的 Food 对象来过滤 foodList?
带循环的示例代码:
for (Food f: foodList)
{
for (Category c: f.categories)
{
if (excludedCategories.contains(c))
{
// REMOVE ITEM FROM foodList
}
}
}
谢谢!
【问题讨论】:
-
流不是为修改集合而设计的。您在寻找什么最终结果?
-
类别类会是什么样子?在我看来,最好使用
enum并使用EnumSet而不是List<Category>。 -
食品对象列表,仅包含类别不在excludedCategories 列表中的食品对象
标签: java list loops java-stream