java - 将对象添加到arraylist的最后一个元素
问题描述
我正在创建一个可调整大小的对象数组。下面是我的add
函数,我在其中传递要添加到数组列表中的对象。
该功能有效,但是如果有人可以解释此代码
temp[theList.length] = toAdd;
我知道它将参数参数添加到新 Arraylist 的末尾。但是让我感到困惑的是我传入的索引temp[]
。我不应该包括theList.length + 1
而不仅仅是theList.length
?
public boolean add(Object toAdd) {
if (toAdd != null) {
Object[] temp = new Object[theList.length + 1];
for (int i = 0; i < theList.length; i++) {
temp[i] = theList[i];
}
temp[theList.length] = toAdd;
theList = temp;
return true;
} else {
System.out.println("Invalid type");
return false;
}
}
解决方案
add 方法的说明:
假设 的大小theList
为 10。
他们创建了一个temp
数组,其大小为theList + 1
,因此大小temp
为11
。现在,对象被添加到temp
除了最后一个元素之外tem[10]
。
要添加最后一个元素,您可以使用以下两种方法中的任何一种:
temp[theList.length] //temp[10]
或者
temp[temp.length-1] //temp[10]
他们使用第一种方法来添加toAdd
对象。
推荐阅读
- python - 有效地将单个 2D 阵列堆叠成 3D
- flutter - 使用咀嚼/视频播放器播放视频时,Flutter Emulator 崩溃
- c# - 在这种情况下如何使用正则表达式?
- elasticsearch - 弹性搜索过滤器不适用于多值 json
- node.js - 更改显示名称和声音
- firebase - 1 个项目的 Google FIT API 验证,其中 3 个 Android 应用使用相同的密钥库签名
- python - 具有上一列的数据框填充
- entity-framework - Entity Framework Core 全局动态查询过滤器
- c# - C# Discord Bot - Docker 容器中的 SQLite 错误
- reactjs - 如何将多个功能集成到一个输入字段?