在Java中,去掉数组中的0元素可以通过多种方法实现,以下是几种常见的方法:
方法一:使用Stream API
```java
import java.util.Arrays;
public class RemoveZeros {
public static void main(String[] args) {
int[] arr = {1, 0, 3, 0, 5, 0, 7};
int[] newArr = Arrays.stream(arr)
.filter(x -> x != 0)
.toArray();
System.out.println(Arrays.toString(newArr));
}
}
方法二:使用循环和条件判断
```java
public class RemoveZeros {
public static void main(String[] args) {
int[] arr = {1, 0, 3, 0, 5, 0, 7};
int count = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] == 0) {
count++;
}
}
int[] newArr = new int[arr.length - count];
int j = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] != 0) {
newArr[j++] = arr[i];
}
}
System.out.println(Arrays.toString(newArr));
}
}
方法三:使用LinkedList
```java
import java.util.LinkedList;
import java.util.Arrays;
public class RemoveZeros {
public static void main(String[] args) {
int[] arr = {1, 0, 3, 0, 5, 0, 7};
LinkedList
for (int num : arr) {
if (num != 0) {
list.add(num);
}
}
int[] newArr = new int[list.size()];
for (int i = 0; i < list.size(); i++) {
newArr[i] = list.get(i);
}
System.out.println(Arrays.toString(newArr));
}
}
方法四:直接输出非零元素
```java
public class RemoveZeros {
public static void main(String[] args) {
int[] arr = {1, 0, 3, 0, 5, 0, 7};
System.out.print("非零元素:");
for (int num : arr) {
if (num != 0) {
System.out.print(num + " ");
}
}
System.out.println();
}
}
以上是几种常见的方法,你可以根据具体的需求和场景选择合适的方法。