Java在数组索引中找到最后一个成员

所以说我有一个大小为10的数组,索引范围从0到9.我添加了一堆元素并在索引6处停止添加。所以对于array.length,我可以知道数组的大小是10,但是如何找到哪个索引包含最后一个值并且之后是空的? 我想做一个循环并在index == null处停止?

我通过创建一个动态数组来模仿一个arraylist,这个数组在大小满时会增长。

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

使用java.util.ArrayList 。 在那里你不需要考虑索引,它是可resize的数组实现。

默认情况下,在创建数组时,所有值都为null,因此如果您不在任何索引处插入任何值(可能位于数组的结尾或开头或中间),它将只为null。 所以你应该把null检查来validation。

由于这是你的分配,一个技巧是添加一个变量来跟随添加的元素数量。

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

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

 if (size == array.length) expandArray