java中有没有不会添加空对象的集合?给定一个项目列表,在数据库中查询这些项目,当从数据库返回结果时,如果该项目确实存在于数据库中,我会将其添加到结果列表中,如果不存在,则数据库返回 null,然后我将丢弃它。
我有以下代码执行此操作:
reqIds.forEach(
reqId -> {
columnValueMap.clear();
columnValueMap.put("request_id", reqId);
EventAudit auditRecord =
pollDatabaseFindByIdAndKey(
EventAudit.class, columnValueMap);
if (auditRecord != null) {
auditMap.put(auditRecord.getRequestId(), auditRecord);
}
});
我知道我可以使用Java流过滤器来过滤掉null,但只是想知道是否有任何智能集合会自动拒绝null对象,所以我不需要进行额外的Null检查
最佳答案
您可以使用 apache commons 集合来执行此操作,
import java.util.List;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.PredicateUtils;
import com.google.common.collect.Lists;
public class Test {
public static void main(String[] args) {
List<Integer> l = Lists.newArrayList(1, 2, 3, null, 7, null, 8, null);
CollectionUtils.filter(l, PredicateUtils.notNullPredicate());
System.out.println(l);
}
}
上面的代码将打印输出,如下所示,
[1, 2, 3, 7, 8]
关于没有空对象的java集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56363773/