首页 文章

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

提问于
浏览
1

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

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

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

2 回答

  • 2

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

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

  • 2

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

    因此,无论何时添加或删除元素,都可以使用 public int size = 0 变量并更改添加和删除操作以增加和减少此变量 .

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

    if (size == array.length)
       expandArray
    

相关问题