java - 将对象添加到指定索引处的 ArrayList

标签 java android arraylist

我认为这是一个相当简单的问题,但我无法弄清楚如何正确地做到这一点。

我有一个空数组列表:

ArrayList<object> list = new ArrayList<object>();

我有一些对象,我想在其中添加对象,每个对象都必须位于某个位置。然而,有必要以每个可能的顺序添加它们。当我尝试这个时,它不起作用,我得到一个 IndexOutOfBoundsException:

list.add(1, object1)
list.add(3, object3)
list.add(2, object2)

我尝试的是用 null 填充 ArrayList 然后执行上述操作。它有效,但我认为这是一个可怕的解决方案。有没有其他方法可以做到这一点?

最佳答案

你可以这样做:

list.add(1, object1)
list.add(2, object3)
list.add(2, object2)

将object2添加到位置2后,它会将object3移动到位置3。

如果您希望 object3 始终位于 position3,我建议您使用 HashMap,其中 position 作为 key,object 作为 value。

关于java - 将对象添加到指定索引处的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7384908/

相关文章:

java - 当我尝试构建项目时 list 合并失败

java - 在 Android 中通过 Intent 传递信息后将项目添加到 listView

java - 阻止使用库中的函数?

java - 在复杂的 HashMap 中使用 StringJoiner

java - 仅收集第一个索引

java - TopLink - JPA 类在哪里

java - Wicket:更新 DropDownChoice 项目选择事件的模型

android - 如何获取 Binder 事务缓冲区的内容以进行故障排除

java - 安卓.view.InflateException : Binary XML file line #: Error inflating class

java - Java 中的 ArrayList 与 Python 中的列表