我正在尝试根据值过滤掉列表。我有两个列表
。其中一个是我想要删除的名称列表,即存在于 animalList
中的名称列表。另一个是主要主列表 AnimalPrimaryDataPojoFilterList
,我必须从中删除与 animalList
中的名称匹配的对象。现在我确实有了解决方案,但我认为这需要很多时间。下面是代码。我使用的是 Java 8。可以优化吗?
if(animalList!=null && animalList.size()>0)
{
for(AnimalFilterPojo dtoObject:animalList)
{
if(!dtoObject.getApproved())
{
for(AnimalPrimaryDataPojo mainDtoObject: AnimalPrimaryDataPojoFilterList)
{
if(mainDtoObject.getAnimalName().equalsIgnoreCase(dtoObject.getValue()))
{
AnimalPrimaryDataPojoFilterList.remove(mainDtoObject);
}
}
}
}
最佳答案
使用removeAll()
方法。
AnimalPrimaryDataPojoFilterList.removeAll(animalList);
它将从 AnimalPrimaryDataPojoFilterList
中删除 animalList
的对象
注意:您需要在 AnimalFilterPojo
中实现 hashCode()
和 equals()
方法
关于Java - 根据多个值过滤列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47221309/