【发布时间】:2011-12-06 10:24:03
【问题描述】:
我的情况如下所述。
我确实有名为Document 的Java Bean,它有各种属性。一个属性是
String documentStatus
我确实有List<Document> documentList。然后我确实有List<String> statusList。
现在,我想要列出所有 documentStatus 与给定 statusList 匹配的文档。
一种解决方案是迭代 documentList 并使用 statusList.contains(document.getStatus()) 匹配值。
除此之外,任何人都可以有任何想法吗?
任何帮助将不胜感激。
【问题讨论】:
-
您已经有两种可能性,它们都提供了完美的解决方案。您为什么要寻找其他替代方案?了解这一点,将有助于提供您正在寻找的答案。
-
正如您在链接中显示的那样,我将使用 Google Guava 库的谓词。
-
确实,最好、最清晰的方法是使用 Guava 库并执行 Lists.filter(l, predicate);
-
考虑将您的
statusList复制到一个集合中。集合可以提供 O(1) 的contains实现,这在循环中使用contains时可能很重要。