我试图采取任意深度嵌套的数组并展平数组,以及摆脱数组中的任何空对象.
例如,我希望能够输入一个嵌套数组,
[1, 5, [[6, 4], 91, 12, null, [[null]]], -2]
并返回一个没有任何空值的一维数组.我该如何解决这个问题?
我在下面提供了我的解决方案,但我一直在寻找
我无法转换为java.lang.Integer错误.
public static void main(String[] args) {
int[][] numbers = {null, {4, 5, 6},{3, 1, 10}, {4, 2, 9}, null, null};
flatten(numbers);
}
public static ArrayList<Integer> flatten(Object[] nestedNumbers) {
if (nestedNumbers == null) return null;
ArrayList<Integer> flattenedNumbers = new ArrayList<>();
for (Object element : nestedNumbers) {
if (element != null) {
flattenedNumbers.add((Integer)element);
}
}
return flattenedNumbers;
}
Run Code Online (Sandbox Code Playgroud)