我试图为我的数据阵列找到合适的数据结构。我更喜欢支持插入操作的那个(在列表中间插入)。
如果没有这样的Java内置数据结构,有什么好的实现方法?
E.g。如果我使用ArrayList<String>
,这似乎不支持在列表中间插入,那么如何以良好的方式实现insert(int pos, String str)
?
答案 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相比,它可以提供更好的列表中间插入性能。