0

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

谢谢!

4

2 回答 2

1

改为使用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,这是一个双向链表。

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

于 2012-09-27T17:57:15.937 回答
0

Apache commons 提供了一个不错的Pair 类来存储两个值。使用大小为 2 的数组看起来有点 hacky。

于 2012-09-27T17:55:18.907 回答