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]