在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();}}
以上是几种常见的方法,你可以根据具体的需求和场景选择合适的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/135889.html