我认为这是一个相当简单的问题,但我无法弄清楚如何正确地做到这一点。
我有一个空数组列表:
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/