删除对象包含列表

时间:2015-12-17 10:06:40

标签: java collections

我们有一个包含TestVo对象的数组列表。 TestVo对象具有getter和setter的“blockNo,buildingName等”变量。我们正在设置值并将该对象添加到列表中。现在我们需要从列表中删除包含null值的对象。     示例代码:

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);

所以最后我们怎么能从列表中删除对象包含null值。

1 个答案:

答案 0 :(得分:1)

使用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();
        }
    }