如何在数组列表中的特定位置插入对象

2022-08-31 12:19:04

假设我有一个大小为n的对象的数组列表。现在我想在特定位置插入另一个对象,假设在索引位置k处(大于0且小于n),并且我希望索引位置k处和之后的其他对象向前移动一个索引位置。那么有没有办法直接在Java中做到这一点。实际上,我想在添加新对象时保持列表排序。


答案 1

将值插入到特定索引处的 ArrayList 中,请使用:

public void add(int index, E element)

此方法将移动列表的后续元素。但是您不能保证列表将保持排序状态,因为您插入的新对象可能会根据排序顺序位于错误的位置。


替换指定位置处的元素,请使用:

public E set(int index, E element)

此方法将列表中指定位置处的元素替换为指定的元素,并返回先前位于指定位置的元素。


答案 2

下面是在特定索引处插入的简单数组列表示例

ArrayList<Integer> str=new ArrayList<Integer>();
    str.add(0);
    str.add(1);
    str.add(2);
    str.add(3); 
    //Result = [0, 1, 2, 3]
    str.add(1, 11);
    str.add(2, 12);
    //Result = [0, 11, 12, 1, 2, 3]

推荐