如何在Java中使用数组初始化向量?

时间:2013-04-07 14:46:38

标签: java arrays vector

我是否必须一个一个地推动我的元素?我试过像

这样的东西
String[] array;
array=...
Vector<String> vector = new Vector<String>(array);

但是我的eclipse将此标记为错误。

3 个答案:

答案 0 :(得分:13)

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

假设array的类型为String[],您可以

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

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

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

这也会产生一个可变的集合。

答案 1 :(得分:3)

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

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

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

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

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

答案 2 :(得分:0)

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

如果你想逐个进行,你需要遍历这些项目,并调用Vector的'add'方法。

for(String item: array) {
    vector.add(item);
}