如何在数组列表中的特定位置插入对象
假设我有一个大小为n的对象的数组列表。现在我想在特定位置插入另一个对象,假设在索引位置k处(大于0且小于n),并且我希望索引位置k处和之后的其他对象向前移动一个索引位置。那么有没有办法直接在Java中做到这一点。实际上,我想在添加新对象时保持列表排序。
假设我有一个大小为n的对象的数组列表。现在我想在特定位置插入另一个对象,假设在索引位置k处(大于0且小于n),并且我希望索引位置k处和之后的其他对象向前移动一个索引位置。那么有没有办法直接在Java中做到这一点。实际上,我想在添加新对象时保持列表排序。
要将值插入到特定索引处的 ArrayList 中,请使用:
public void add(int index, E element)
此方法将移动列表的后续元素。但是您不能保证列表将保持排序状态,因为您插入的新对象可能会根据排序顺序位于错误的位置。
要替换指定位置处的元素,请使用:
public E set(int index, E element)
此方法将列表中指定位置处的元素替换为指定的元素,并返回先前位于指定位置的元素。
下面是在特定索引处插入的简单数组列表示例
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]