在Java中,哪个List实现支持插入操作?

时间:2012-10-16 02:34:38

标签: java arrays list linked-list

我试图为我的数据阵列找到合适的数据结构。我更喜欢支持插入操作的那个(在列表中间插入)。

如果没有这样的Java内置数据结构,有什么好的实现方法?

E.g。如果我使用ArrayList<String>,这似乎不支持在列表中间插入,那么如何以良好的方式实现insert(int pos, String str)

3 个答案:

答案 0 :(得分:5)

查看ArrayList.add方法(在ArrayList接口中声明{{1}}实现的方法)

  

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

答案 1 :(得分:2)

任何实现 List 的类都可以做你想做的事。

查看 List.add() ,它会在给定的索引处插入一个对象。

如果您想替换现有项目,请查看 List.set()

add()方法是List接口的一部分......

然而,正如Bhesh Gurung的答案所表明的那样,并非所有名单都支持它。

因此,我会选择Bhesh Gurung的答案(就像你已经拥有的那样)。

答案 2 :(得分:0)

我认为你应该看看LinkedList add(int, E)方法,与ArrayList相比,它可以提供更好的列表中间插入性能。