在Java中,去掉数组中的0元素可以通过多种方法实现,以下是几种常见的方法:
方法一:使用Stream API
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));}}
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
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};LinkedListlist = new 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));}}
方法四:直接输出非零元素
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();}}
以上是几种常见的方法,你可以根据具体的需求和场景选择合适的方法。
