私はobject[][]
を持ち、内側と外側の配列にはnull
または空の値が含まれています。Java多次元配列が空/ヌル要素を削除する
これらの配列からすべての空の値とnull
の値を削除する必要があります。
public static void Compact(object[][] array)
{
List<Object[]> outerList = new ArrayList<Object[]>(array.length);
for(int i = 0; i < array.length; i++) {
Object[] inner = array[i];
if (inner != null) {
List<Object> list = new ArrayList<Object>(inner.length);
for(int j=0; j < inner.length; j++){
if(inner[j] != null || !"".equals(inner[j])){
list.add(inner[j]);
}
}
outerList.add(list.toArray(new Object[list.size()]));
}
}
array = outerList.toArray(new Object[outerList.size()][]);
}
しかし、私は空の値を削除するために管理することはできません。
Iは、例えば、私は別のスタックオーバーフロー後から変更この溶液をいくつかのソリューションを試みました。また、内部配列からnull
値だけを削除します。
誰かがより良い解決策を持っていますか?
"(int [j]!= null ||!" "。equals(inner [j])") " –
どうすれば配列からヌル値を削除するのですか?有効なオブジェクト/値のみを含むように配列のサイズを変更しますか?いくつかのインデックスに値があるか、そのインデックスにnullがあります。 –
ここで、あなたのコードで配列が定義/作成されていますか?それはこのコード全体の原動力と思われる... –