This question already has answers here:
How to remove an empty list from a list (Java)
(3个答案)
2年前关闭。
我想浏览我的ArrayLists的ArrayList并删除所有空的。有没有一种快速有效的方法来执行此操作,否则我猜一个for循环?
示例输出:
[[alec,joe,ray],[],[eric,jacob],[]]
然后将如下所示:
[[alec,joe,ray],[eric,jacob]]
或按照Zabuza的建议,可以使用
恕我直言,出于种种原因,我会选择第二种方法,但最重要的是像“如果ArrayList为空,则将nestedArrayList删除”那样阅读它,可以提供更好的代码意图并且更易于理解。
(3个答案)
2年前关闭。
我想浏览我的ArrayLists的ArrayList并删除所有空的。有没有一种快速有效的方法来执行此操作,否则我猜一个for循环?
示例输出:
[[alec,joe,ray],[],[eric,jacob],[]]
然后将如下所示:
[[alec,joe,ray],[eric,jacob]]
最佳答案
像这样的东西就足够了。
nestedArrayList = nestedArrayList.stream()
.filter(e -> !e.isEmpty())
.collect(Collectors.toCollection(ArrayList::new));
或按照Zabuza的建议,可以使用
removeIf
:nestedArrayList.removeIf(ArrayList::isEmpty);
恕我直言,出于种种原因,我会选择第二种方法,但最重要的是像“如果ArrayList为空,则将nestedArrayList删除”那样阅读它,可以提供更好的代码意图并且更易于理解。
07-27 14:33