作者:xwt4818386 | 来源:互联网 | 2022-12-02 17:41
1> LuCio..:
由于数组具有固定大小,因此无法从数组中删除任何元素.因此,我假设你想要一个没有前导零的新数组.
使用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