gpt4 book ai didi

java - 如何检查列表中的列表是否不为空?

转载 作者:太空狗 更新时间:2023-10-29 22:31:22 24 4
gpt4 key购买 nike

我有一个 Java 列表列表。这是代码:

List<List<Integer>> myList = new ArrayList<>();
myList.add(new ArrayList<Integer>());
myList.add(new ArrayList<Integer>());
myList.add(new ArrayList<Integer>());

myList.get(0).add(1);
myList.get(0).add(2);
myList.get(0).add(3);
myList.get(1).add(4);
myList.get(1).add(5);
myList.get(1).add(6);
myList.get(2).add(7);
myList.get(2).add(8);
myList.get(2).add(9);

现在在我的代码的一部分中,我想检查位于 myList 中的所有三个列表是否不为空和 null。我是否应该像这样逐一检查这些列表:

if (myList.get(0) != null && !myList.get(0).isEmpty()) { 
// do something
}

...或者是否有更好、更短的方法来代替逐一检查?

最佳答案

您可以为此使用流 API,但也可以使用普通循环:

 boolean allNonEmptyOrNull = myList.stream()
.allMatch(x -> x != null && !x.isEmpty());

或者您可以检查是否包含 null 或一个空的 List,例如,通过:

System.out.println(myList.contains(null) || myList.contains(Collections.<Integer> emptyList()));

但是最后一个选项会破坏 Java 9 不可变集合,例如:

List.of(1, 2, 3).contains(null); 

将抛出一个NullPointerException

关于java - 如何检查列表中的列表是否不为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52768755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com