У меня есть 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()][]);
}
Однако я не могу управлять, чтобы удалить пустые значения. Он также удаляет только значения null
из внутреннего массива.
У кого-нибудь есть лучшее решение?
Вы забыли про ")": "if (internal [j]! = Null ||!" ". Equals (internal [j]))" –
Что означает, удалив нулевое значение из массива? вы хотите изменить размер массива только на наличие допустимых объектов/значений? У вас либо есть значение в каком-то индексе, либо оно равно нулю в этом индексе. –
где задан/создан массив в вашем коде? он, кажется, является движущей силой всего этого кода ... –