在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};
LinkedList
list = 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