You could use Stream.iterate and flatMap to put all the indices for which the value is null in a SimpleEntry where key is the first index and the value the second index:
Integer[][] integers = {{1, 2, 3, 6}, {4, 5, 6}, {7, 8, null, 11}};
List<SimpleEntry<Integer, Integer>> collect =
Stream.iterate(0, (i) -> i < integers.length, (i) -> ++i)
.flatMap(i -> IntStream.range(0, integers[i].length)
.filter(j -> integers[i][j] == null)
.mapToObj(j -> new SimpleEntry<Integer, Integer>(i, j)))
.collect(Collectors.toList());
System.out.println(collect);
Then for all entries in the collect list integers[entry.getKey()][entry.getValue()] == null is true
EDIT:
The problem itself is trivial the only decision to be made is what container should be used for storing the indices. Here a "natural" solution with Integerarrays:
List<Integer[]> collect1 = new ArrayList<>();
for (int i = 0; i < integers.length; i++){
for (int j = 0; j < integers[i].length; j++){
if (integers[i][j] == null){
collect1.add(new Integer[]{i, j});
}
}
}
collect1.forEach(arr -> System.out.println("null at " +arr[0] + "," + arr[1]));