我们有一个数组列表,其中包含TestVo对象。 TestVo对象具有带有getter和setter的“ blockNo,buildingName等”变量。我们正在设置值并将该对象添加到列表中。现在我们需要从列表中删除包含空值的对象。
样例代码:
List <TestVo> listOfBranches = new ArrayList<TestVo>();
TestVo obj1 = new TestVo();
obj1.setBlockNo("1-23");
obj1.setBuildingName(null);
TestVo obj2 = new TestVo();
obj2.setBlockNo(null);
obj2.setBuildingName("test");
TestVo obj3 = new TestVo();
obj3.setBlockNo("4-56");
obj3.setBuildingName("test, Ind");
listOfBranches.add(obj1);
listOfBranches.add(obj2);
listOfBranches.add(obj3);
因此,最后我们如何从列表中删除包含空值的对象。
最佳答案
使用Java 8流API,
listOfBranches = listOfBranches
.stream()
.filter(candidate -> candidate.getBlockNo() != null)
.collect(Collectors.toList());
可以为您完成工作。
否则,请使用迭代器:
Iterator it = myList.iterator();
while(it.hasNext()) {
if (it.next().getBlockNo() == null) {
it.remove();
}
}