java - 在 Java 中使用字符串数组作为 Vector 的元素

标签 java arrays algorithm vector

我对使用字符串数组作为 Vector 对象中的元素很感兴趣。该数组的长度始终为 2。这个数据结构有更好的方法吗?使用 Vector 的原因是动态调整大小,即元素数量变化,我想对 Vector 使用 addtrimToSize 方法。

谢谢!

最佳答案

改为使用 ArrayList 和自定义对象。

public class MyStrings {
    private String string1;
    private String string2;

    public MyStrings(String string1, String string2) {
        this.string1 = string1;
        this.string2 = string2;
    }

    public String getString1() {
        return string1;
    }

    public String getString2() {
        return string2;
    }
}

然后使用它:

List<MyStrings> list = new ArrayList<MyStrings>();
list.add(new MyString("apple", "orange");
// To iterate:
for (MyStrings myStrings : list) {
    System.out.println(myStrings.getString1());
    System.out.println(myStrings.getString2());
}

Vector 在 Java 中不再被认为是一个好的动态数组,因为额外的同步逻辑或多或少是无用的,所以它只是增加了不必要的开销。 ArrayList 是首选动态数组。您还可以使用 LinkedList,这是一个双向链表。

当然,您还应该使用更好的命名约定来描述值的实际含义,而不是我在示例中使用的名称。

关于java - 在 Java 中使用字符串数组作为 Vector 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12627287/

相关文章:

java - selenium.click() 不起作用 : Argument 1 of EventTarget. dispatchEvent 没有实现接口(interface)事件

java - 防弹 groovy 脚本嵌入

重新平衡循环分配的算法

java - 在java中划分每个长数

algorithm - 通过采用最大权重的路径遍历图形的复杂性

java - 如何让我的重置按钮起作用

java - Activity 无法转换为接口(interface) (ClassCastException)

javascript - 如何计算和转换具有特定条件javascript的数组

分配和释放数组指针数组的正确方法

C++ 圆形对象/getArea()