【发布时间】:2017-10-24 10:11:03
【问题描述】:
在 Java 8 中,从具有多个不同类型 {List<Type1>, List<Type2>, List<Type3>, ..} 的列表的对象列表(记录)中挑选和收集 Lists<T> 的最佳方法是什么?
Type1、Type2、Type3 等互不相关。 T = Type1,Type2,Type3 ...
List<Records> allRecords;
class Records {
List<Type1> listOfType1; // can be empty or null
List<Type2> listOfType2; // can be empty or null
List<Type3> listOfType3; // can be empty or null
}
List<T> getAllOccurrencesForType(T t, List<Records> allRecords) {
return ?all occurrences of List<t> from all Records collected to one List?
}
【问题讨论】:
-
如果您的代码是这样的,那么每种类型恰好出现一次,您可以使用 record.getListOfType1()。也许您将这些列表动态添加到记录类中?
-
我同意@luk2302 - 看起来你又在问同样的问题。也许我错了 - 但请解释为什么需要第二个问题以及它与您之前提出的不同之处?!
-
Veselin Davidov,感谢您的评论。该列表可以有多个记录,并且每个记录的每种类型都有一个列表。
-
@luk2302,@GhostCat:谢谢你的提示。我会尽快检查这个。昨天我请我的一位同事尝试为这项任务找到解决方案,他在我的电脑上工作,而我正在开会。我假设他使用我的帐户发布了相同的问题。如果是这样,我会将其标记为重复。再次感谢!
标签: java lambda filter prediction