在Java中的列表中的两个项之间插入项

时间:2012-01-03 22:13:56

标签: java arrays list

我想了解如何在Java中的列表中的两个元素之间有效地插入元素。例如:

[0,5,5,1]

会变成

[0,5,4,5,1]

其中4已插入列表中。

实现此目的的推荐方法是什么(与将每个元素复制到新列表相反?)

1 个答案:

答案 0 :(得分:9)

使用List<E>#add(int, E)指定元素添加到列表的位置。

  

将指定元素插入此列表中的指定位置(可选操作)。将当前位置的元素(如果有)和右侧的任何后续元素移位(将其添加到索引中)。


因此,请按照您的示例(为方便起见使用Guava):

List<Integer> foo = Lists.newArrayList(0, 5, 5, 1);
foo.add(2, 4);
System.out.println(foo); // prints [0, 5, 4, 5, 1]