Java查找数组索引中的最后一个成员

Java查找数组索引中的最后一个成员,java,arrays,indexing,Java,Arrays,Indexing,假设我有一个大小为10的数组,索引范围从0到9。 我在中添加了一堆元素,并在索引6处停止添加。因此,使用array.length,我可以知道数组的大小是10,但是如何找到包含最后一个值的索引,以及之后的索引是空的?我是否应该执行循环并在index==null处停止 我通过创建一个动态数组来模拟arraylist,该数组在大小满时增长 Arg,忘了告诉你们,如果数组是int,那么空插槽将是0 使用java.util.ArrayList。在这里,您无需考虑索引,它是可调整大小的数组实现 默认情况下,

假设我有一个大小为10的数组,索引范围从0到9。 我在中添加了一堆元素,并在索引6处停止添加。因此,使用array.length,我可以知道数组的大小是10,但是如何找到包含最后一个值的索引,以及之后的索引是空的?我是否应该执行循环并在index==null处停止

我通过创建一个动态数组来模拟arraylist,该数组在大小满时增长


Arg,忘了告诉你们,如果数组是int,那么空插槽将是0

使用
java.util.ArrayList
。在这里,您无需考虑索引,它是可调整大小的数组实现


默认情况下,在创建数组时,所有值都为null,因此如果不在任何索引(可能在数组的末尾、开头或中间)插入任何值,则该值将为null。因此,您应该使用空检查进行验证

使用
java.util.ArrayList
。在这里,您无需考虑索引,它是可调整大小的数组实现


默认情况下,在创建数组时,所有值都为null,因此如果不在任何索引(可能在数组的末尾、开头或中间)插入任何值,则该值将为null。因此,您应该使用空检查进行验证

由于这是一个赋值,一个技巧是添加一个变量,以跟随添加的元素数

因此,您可以使用一个
public int size=0
变量,并在添加或删除元素时更改添加和删除操作以增加和减少此变量

然后在add方法中,您可以进行一个简单的检查,查看是否需要扩展数组

if (size == array.length)
   expandArray

因为这是赋值,所以技巧是添加一个变量以跟随添加的元素数

因此,您可以使用一个
public int size=0
变量,并在添加或删除元素时更改添加和删除操作以增加和减少此变量

然后在add方法中,您可以进行一个简单的检查,查看是否需要扩展数组

if (size == array.length)
   expandArray


您应该使用
ArrayList
代替。是否要迭代数组??还是我理解错了?好吧,我搞错了。。但是你必须使用
ArrayList
来跟踪它,这就是为什么。不要依赖空值-如果你在里面放了空值怎么办?它会消失,这是我的任务。。。使用普通数组并创建一个动态数组,该动态数组有一种方法,可以在容量已满时生成更大的数组。。。。我不允许使用数组列表的家伙…@RyokoNela你不能让传统数组像动态数组一样运行。。它有固定的尺寸。。这是无法更改的。您应该使用
ArrayList
代替。是否要迭代数组??还是我理解错了?好吧,我搞错了。。但是你必须使用
ArrayList
来跟踪它,这就是为什么。不要依赖空值-如果你在里面放了空值怎么办?它会消失,这是我的任务。。。使用普通数组并创建一个动态数组,该动态数组有一种方法,可以在容量已满时生成更大的数组。。。。我不允许使用数组列表的家伙…@RyokoNela你不能让传统数组像动态数组一样运行。。它有固定的尺寸。。这是无法改变的..正如我所说,我让一些东西实现了同样的原则,适用于arraylist。。。这就是我需要这些东西的原因。正如我说的,我让一些东西实现了同样的原则,适用于arraylist。。。这就是为什么我需要所有这些东西。我可以为add方法将checking变量声明为local吗?我不允许添加更多的类字段。等等,事实上规格并不禁止我添加更多。。。看起来我可以添加一个类字段。如果将其设置为局部,则每次调用add方法时它都会设置为零(因为本质上,您将有一个此变量的新实例),因此它将不起作用。如果无法添加类字段,则我看不到其他选项,可以在添加新元素之前迭代数组以检查它是否已填充。奇怪的是,不允许添加类变量。如果无法添加变量,则检查数组是否已填充的技巧是检查最后一项是否为null(或零),因此检查(array[size]!=null)有助于假设:按顺序添加元素(从0到size,不跳过元素)和null(如果是int数组,则为0)不是有效的数字我可以为add方法将检查变量声明为local吗?我不允许添加更多的类字段。等等,实际上规范不禁止我添加更多…看起来我可以添加一个类字段。如果将其设置为local,它将设置为零(因为本质是,您将拥有此变量的新实例)每次调用add方法时,如果无法添加类字段,那么我看不到其他选项,在添加新元素之前迭代数组以检查它是否已填充。奇怪的是,不允许添加类变量。如果无法添加变量,则检查数组是否已填充的窍门是检查t最后一项不为null(或零),因此检查(array[size]!=null)是否有助于假设:按顺序添加元素(从0到size,不跳过元素),null(或int-array为0)不是有效数字