我试图根据值筛选出一个列表。我有两个List
。一个是我要删除的名称列表,即animalList
中存在的名称。另一个是主主要列表AnimalPrimaryDataPojoFilterList
,在其中我必须从animalList
删除与名称匹配的对象。现在我确实有解决方案,但我认为这需要很多时间。下面是代码。我正在使用Java8。可以对其进行优化吗?
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);
它将从
animalList
中删除AnimalPrimaryDataPojoFilterList
的对象N.B:您需要在
hashCode()
中实现equals()
和AnimalFilterPojo
方法