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

2022-08-31 07:27:10

我认为这是一个相当简单的问题,但我不知道如何正确地做到这一点。

我有一个空的数组列表:

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

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

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

我尝试过的是填充,然后做上述操作。它有效,但我认为这是一个可怕的解决方案。有没有另一种方法可以做到这一点?ArrayListnull


答案 1

你可以这样做:

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

将对象 2 添加到位置 2 后,它会将对象 3 移动到位置 3。

如果你想让 object3 一直位于 position3,我建议你使用 HashMap,位置作为键,object 作为值。


答案 2

您可以使用对象数组并将其转换为数组列表-

Object[] array= new Object[10];
array[0]="1";
array[3]= "3";
array[2]="2";
array[7]="7";

List<Object> list= Arrays.asList(array);

ArrayList 将是 - [1, 空, 2, 3, 空, 空, 空, 空, 7, 空, 空]


推荐