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

时间:2012-09-27 17:51:22

标签: java arrays algorithm vector

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

谢谢!

2 个答案:

答案 0 :(得分: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,这是一个双向链接列表。

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

答案 1 :(得分:0)

Apache commons提供了一个很好的Pair class来存储两个值。使用大小为2的数组看起来有点黑客。