У меня есть массив:Удалить все нули из массива
[0, 5, 6, 0, 0, 2, 5]
Я хотел бы, чтобы удалить все нули от него, так что это возвращает (сохраняя тот же порядок):
[5, 6, 2, 5]
Есть любой более простой способ удалить все нули, чем следующее?
int[] array = {0, 5, 6, 0, 0, 2, 5};
int len = 0;
for (int i=0; i<array.length; i++){
if (array[i] != 0)
len++;
}
int [] newArray = new int[len];
for (int i=0, j=0; i<array.length; i++){
if (array[i] != 0) {
newArray[j] = array[i];
j++;
}
}
Я не смог найти какой-либо метод в классе Массивы и Google/SO поиски не дали мне какие-нибудь хорошие ответы.
Самое простое решение, чтобы избежать добавления их в первую очередь. –
Вам нужен новый массив с новой длиной, поэтому вам все равно придется делать копию. Работа с коллекцией избавит вас от необходимости находить конечный размер спереди. –
Мое положение: массив - это доска, игра.Существует много возможностей, когда в одном или нескольких отверстиях нет предметов. Итак, нули будут там, вот почему я спрашиваю ... – Hidde