Поскольку массив имеет фиксированный размер, вы не можете удалить какой-либо элемент из массива.Таким образом, я предполагаю, что вы хотите иметь новый массив без начальных нулей.
С Java 9+ (dropWhile
отсутствует в Java 8) вы можете сделать это следующим образом:
int[] array = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 5 };
int[] withoutLeadingZeros = Arrays.stream(array).dropWhile(i -> i == 0).toArray();
System.out.println(Arrays.toString(withoutLeadingZeros)); // [4, 0, 5]
РЕДАКТИРОВАТЬ
В случае, если результатом является String
:
String withoutLeadingZeros = Arrays.stream(array).dropWhile(i -> i == 0).collect(StringBuilder::new, StringBuilder::append, (l, r) -> l.append(r)).toString();
System.out.println(withoutLeadingZeros); // 405
РЕДАКТИРОВАТЬ
В случае, если результатом является int
:
int number = Arrays.stream(array).reduce((l, r) -> l * 10 + r).getAsInt();
System.out.println(number); // 405