Java 基于匹配值的对象子集列表

Java 基于匹配值的对象子集列表,java,list,sorting,Java,List,Sorting,我的情况如下所述 我有一个名为Document的Javabean,它有各种属性。一个属性是 String documentStatus 我有列表文档列表。然后我确实有了列表statusList 现在,我想要一个所有文档的列表,这些文档的documentStatus与给定的statusList匹配 一种解决方案是迭代documentList并使用statusList.contains(document.getStatus())匹配值 第二, 除此之外,还有人有什么想法吗 非常感谢您的帮助。您可以

我的情况如下所述

我有一个名为
Document
的Javabean,它有各种属性。一个属性是

String documentStatus
我有
列表文档列表
。然后我确实有了
列表statusList

现在,我想要一个所有文档的列表,这些文档的
documentStatus
与给定的
statusList
匹配

一种解决方案是迭代
documentList
并使用
statusList.contains(document.getStatus())
匹配值

第二,

除此之外,还有人有什么想法吗


非常感谢您的帮助。

您可以使用列表中的contains方法。差不多

for(Document doc:documentList){
if(statusList.contains(doc.getDocumentStatus()))
newDocList.add(doc)
}

您已经有两种可能性,它们都提供了一个完美的解决方案。你为什么要寻找其他的选择?知道这一点,将有助于提供您想要的答案。正如您在链接中所显示的,我将使用Google Guava库的谓词。事实上,最好、最清晰的方法是使用Guava库并进行列表过滤(l,谓词);考虑将
状态列表
复制到一个集合中。集合可以提供O(1)个
包含的实现,这在循环中使用
包含时可能很重要。嗨。。谢谢…我在帖子中提到我想得到其他最好的解决方案。如果可行的话,我现在只使用这个。。我认为你的回答是正确的。因为我已经在用这个了。