最近几天,我尝试了 Java 8 和 lambda 表达式。实现起来更清晰、更清晰、更有趣,但是我一直困惑如何在给定范围内迭代多维数组以找到第一次出现的非空元素。例如,这是我的数组:
MyObject[][] array = new MyObject[][]; //this array is never full objects are placed at random places
正如评论暗示我试图找到第一次出现或非空对象,让我们说
array[0-5][irrelevant]
or
array[irrelevent][3-9]
到目前为止我得到的最接近的是:
MyObject obj = Arrays.stream(grid.grid)
.flatMap(IntStream.range(0,2)) //here it must work for any dimension given any range
.filter(array -> array != null)
.findFirst()
.orElse(null);
显然,这不会编译,因为它不是一个 Integer 元素,而是一个自定义对象。非常感谢任何帮助。
繁星coding
jeck猫
GCT1015
相关分类