我试图为我的数据数组找到合适的数据结构。我更喜欢支持插入操作的那个(插入到列表中间)。
如果没有这种Java内置的数据结构,有什么好的实现方式呢?
例如ArrayList<String>
,如果我使用似乎不支持在列表中间插入的 ,如何以insert(int pos, String str)
一种好的方式实现?
我试图为我的数据数组找到合适的数据结构。我更喜欢支持插入操作的那个(插入到列表中间)。
如果没有这种Java内置的数据结构,有什么好的实现方式呢?
例如ArrayList<String>
,如果我使用似乎不支持在列表中间插入的 ,如何以insert(int pos, String str)
一种好的方式实现?
检查ArrayList.add
方法(在实现的List
接口中声明ArrayList
)
在此列表中的指定位置插入指定元素。将当前位于该位置的元素(如果有)和任何后续元素向右移动(将其索引加一)。
任何实现List的类都可以做你想做的事。
看一下List.add(),它在给定索引处插入一个对象。
如果要替换现有项目,请查看List.set()。
add()方法是 List 接口的一部分...
但是,正如 Bhesh Gurung 回答下的评论所暗示的那样,并非所有列表都支持它。
因此,我会接受 Bhesh Gurung 的回答(正如你已经拥有的那样)。
我认为您应该看一下LinkedList add(int, E)方法,与 ArrayList 相比,该方法在列表中间插入提供了更好的性能。