如何检查我的 int 数组是否为空,标准值为 0?
How do I check if my int array is empty, with the standard value being 0?
所以我遇到了一个我似乎无法解决的问题。所以假设我有一个 int 数组并想检查数组是否仍然有 space 来添加某个元素(从 0-∞)或者没有 space 离开,这意味着我需要创建一个新数组。
问题是当我的 int 数组有一个 space 来存储十个值时,所有 space 都用 0 填充,所以我的程序认为这个数组已满。而且我也不能排除 0 因为我要添加的元素也可能是 0。
有什么建议吗?
您需要通过其他变量来跟踪哪些位置已填充。 Java 数组本身(创建时)用 0-s 初始化,技术上它总是满的。
如果你需要一个动态扩展的数组,我的建议是使用java.util.List
,它非常好用,在大多数情况下可以很好地替换Java数组。
List教程很好找,这里是an example.
这就是您的使用方式:
import java.util.ArrayList;
import java.util.List;
....
List<String> a = new ArrayList<>();
a.add("Hello");
a.add("World");
System.out.println(a.size());
您可以轻松转换为标准数组:a.toArray()
。
您可能正在使用 int[]
?原始类型 int
不能是 null
。一个非常简单的解决方案是使用包装器 class Integer
.
Integer[] intArray = {null, 0, 10};
如果您的数字总是大于或等于 0,您可以将未使用的数字设置为 -1。
所以我遇到了一个我似乎无法解决的问题。所以假设我有一个 int 数组并想检查数组是否仍然有 space 来添加某个元素(从 0-∞)或者没有 space 离开,这意味着我需要创建一个新数组。
问题是当我的 int 数组有一个 space 来存储十个值时,所有 space 都用 0 填充,所以我的程序认为这个数组已满。而且我也不能排除 0 因为我要添加的元素也可能是 0。
有什么建议吗?
您需要通过其他变量来跟踪哪些位置已填充。 Java 数组本身(创建时)用 0-s 初始化,技术上它总是满的。
如果你需要一个动态扩展的数组,我的建议是使用java.util.List
,它非常好用,在大多数情况下可以很好地替换Java数组。
List教程很好找,这里是an example.
这就是您的使用方式:
import java.util.ArrayList;
import java.util.List;
....
List<String> a = new ArrayList<>();
a.add("Hello");
a.add("World");
System.out.println(a.size());
您可以轻松转换为标准数组:a.toArray()
。
您可能正在使用 int[]
?原始类型 int
不能是 null
。一个非常简单的解决方案是使用包装器 class Integer
.
Integer[] intArray = {null, 0, 10};
如果您的数字总是大于或等于 0,您可以将未使用的数字设置为 -1。