没有空对象的java集合

标签 java

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/

相关文章:

java - Swing 菜单 Java 7 mac osx

java - 在 HashMap 中存储多个类型对象并检索它们

java - 通过键调用特定方法的最有效方法 ||重构调用 switch 语句的方法

Java 库? - 单纯形/线性规划/优化

java - android studio build 突然抛出很多错误

java - 移位密码错误地移位了一些字符

java - setContentView 删除我的 Activity 中的其他组件

java - 从 Javascript 调用的 Applet 方法

java - JSF input failed to Double conversion 错误

java - hashCode() 方法当 equals() 基于多个独立字段时