2

我必须一个一个地推动我的元素吗?我尝试了类似的东西

String[] array;
array=...
Vector<String> vector = new Vector<String>(array);

但我的日食将此标记为错误。

4

3 回答 3

16

Vector没有直接接受数组的构造函数。

假设那array是 type String[],你可以做

Vector<String> vector = new Vector<String>(Arrays.asList(array));

更好地使用ArrayList,因为它没有同步方法的开销。你可以使用

List<String> list = new ArrayList<>(Arrays.asList(array));

这也将产生一个可变集合。

于 2013-04-07T14:50:22.320 回答
4

这是行不通的,因为正如文档所示,没有 Vector 构造函数将数组作为参数。

如果您只想要一个不可修改的列表,请使用

List<String> list = Arrays.asList(array);

如果你真的想要一个 Vector(但你应该改用 ArrayList,因为 Vector 已经过时了),使用

Vector<String> vector = new Vector<String>(Arrays.asList(array));
于 2013-04-07T14:51:14.827 回答
0

我不是 100% 确定你所说的“一个接一个”是什么意思。如果要将现有集合添加到 Vector,可以使用this

如果要一个一个地做,需要遍历item,调用Vector的' add '方法。

for(String item: array) {
    vector.add(item);
}
于 2013-04-07T14:49:42.880 回答