有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

但我的eclipse将此标记为错误


共 (3) 个答案

  1. # 1 楼答案

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

    如果你想一个接一个地做,你需要遍历这些项,并调用Vector的add方法

    for(String item: array) {
        vector.add(item);
    }
    
  2. # 2 楼答案

    这是行不通的,因为正如the documentation所示,没有以数组为参数的向量构造函数

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

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

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

    Vector<String> vector = new Vector<String>(Arrays.asList(array));
    
  3. # 3 楼答案

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

    假设arrayString[]类型,您可以这样做

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

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

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

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