私は任意にディープネストされた配列を取得し、配列を平坦化し、配列内のヌルオブジェクトを取り除こうとしています。配列を平坦化してnullを取り除く方法は?
たとえば、 [1, 5, [[6, 4], 91, 12, null, [[null]]], -2]
のようなネストされた配列を入力して、null値を持たない1次元配列を返すことができるようにします。これをどうやって解決するのだろうか?
私は以下の私の解決策を提供するが、私は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;
}
** **コンパイルエラーは何ですか? –
より具体的なエラーに編集しました –
配列には2次元しかありませんか? – Tunaki