将 Vector 替换为 Arraylist (insertElementAt problem)



我必须使用Vector替换给定的代码,如下所示:

Vector<String> myList = new Vector<>();
myList.add(...);
myList.add(...);
myList.add(...);
myList.insertElementAt(something, 0);

我的方法是使用这样的东西:

List<String> myList = Collections.synchronizedList(new ArrayList<String>());
myList.add(...);
myList.add(...);
myList.add(...);

但是如何轻松更换insertElementAt呢?

可以使用set()函数在特定索引处插入元素。

myList.set(index,element)

由于 ArrayList 以连续顺序存储元素,因此在该元素之后将会出现元素的洗牌。从这里阅读有关List函数的更多信息。

将其强制转换为 SyncdList,然后使用。

喜欢:

((SynchronizedList)myList).set(index, element)