Java 将对象添加到arraylist的最后一个元素

Java 将对象添加到arraylist的最后一个元素,java,arrays,arraylist,Java,Arrays,Arraylist,我正在创建一个可调整大小的对象数组。下面是我的add函数,在该函数中,我传递了要添加到arraylist中的对象 但是,如果有人能够解释此代码,则该函数可以工作 temp[theList.length]=toAdd 我知道它将参数参数添加到新Arraylist的末尾。但让我困惑的是我传递到temp[]的索引。我不应该包括list.length+1而不仅仅是list.length 公共布尔添加(对象添加){ 如果(toAdd!=null){ Object[]temp=新对象[list.length

我正在创建一个可调整大小的对象数组。下面是我的
add
函数,在该函数中,我传递了要添加到arraylist中的对象

但是,如果有人能够解释此代码,则该函数可以工作
temp[theList.length]=toAdd

我知道它将参数参数添加到新Arraylist的末尾。但让我困惑的是我传递到
temp[]
的索引。我不应该包括
list.length+1
而不仅仅是
list.length

公共布尔添加(对象添加){
如果(toAdd!=null){
Object[]temp=新对象[list.length+1];
对于(int i=0;i
添加方法的说明

假设
列表的大小为10

他们创建了一个
temp
数组,其大小为
list+1
,因此
temp
的大小为
11
。 现在,除了最后一个元素
tem[10]
之外,对象被添加到
temp

要添加最后一个元素,可以使用以下两种方法之一:

temp[theList.length] //temp[10]


他们使用第1种方法添加
以添加
对象。

您可以使用标准方法立即创建具有新大小的输入数组副本(在这种情况下,长度增加):

导入java.util.array;
//...
公共布尔添加(对象添加){
如果(toAdd!=null){
int oldLength=列表长度;
theList=Arrays.copyOf(theList,oldLength+1);
列表[旧长度]=toAdd;
返回true;
}否则{
System.out.println(“无法添加空对象”);
返回false;
}
}

您知道数组索引是基于0的吗?数组索引是基于零的。这意味着最后一个索引是
length-1
。由于您创建的
temp
的长度为
theList.length+1
,这意味着
temp
的最后一个索引是
theList.length
。顺便说一句,您应该尽可能使用列表而不是数组grow@David这个代码看起来像是一个学生练习,因此,数组可能是需求的一部分。@DavidBrowsard此方法看起来像是自定义列表类的实现,用作教授数组操作的练习,而使用
ArrayList
将无法达到练习的目的。
temp[temp.length-1] //temp[10]