Java中 数组去零值。有如下的一个数组int[] Arr = {18,32,41,52,0,0,6,61,0,5,4,72,86,79,0,565,0} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,并对生成的新数组排序输出。
时间: 2024-06-08 17:06:01 浏览: 64
可以使用Java中的ArrayList来实现去掉数组中为0的项,然后将剩余的元素存入新数组,并对新数组进行排序输出。
以下是示例代码:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
int[] arr = {18,32,41,52,0,0,6,61,0,5,4,72,86,79,0,565,0};
ArrayList<Integer> list = new ArrayList<Integer>();
for (int i : arr) {
if (i != 0) {
list.add(i);
}
}
Integer[] result = new Integer[list.size()];
list.toArray(result);
Arrays.sort(result);
System.out.println(Arrays.toString(result));
}
}
```
输出结果为:
```
[4, 5, 6, 18, 32, 41, 52, 61, 72, 79, 86, 565]
```
其中,首先使用ArrayList遍历原数组,将不为0的元素加入到list中。然后使用toArray()方法将list转化为新数组。最后使用Arrays.sort()方法对新数组进行排序,并输出结果。
阅读全文