因此,假设我有一个大小为10的数组,索引范围为0到9。 我添加了一堆元素并在索引6处停止添加。因此,对于array.length,我可以知道数组的大小是10,但是如何找到哪个索引包含最后一个值,之后是空的?我想要做一个循环并停在index == null?
我通过创建一个动态数组来模仿一个arraylist,该数组在大小已满时会增长。
答案 0 :(得分:2)
使用java.util.ArrayList
。在那里你不需要考虑索引,它是可调整大小的数组实现。
默认情况下,在创建数组时,所有值都为null,因此如果不在任何索引处插入任何值(可能位于数组的结尾或开头或中间),它将只为null。所以你应该把null检查来验证。
答案 1 :(得分:2)
由于这是你的分配,一个技巧是添加一个变量来跟随添加的元素数量。
因此,您可以拥有public int size = 0
变量并更改添加和删除操作,以便在添加或删除元素时增加和减少此变量。
然后在添加方法中,您可以进行简单的检查,看看是否需要扩展数组
if (size == array.length)
expandArray