我有兴趣将字符串数组用作 Vector 对象中的元素。数组的长度始终为 2。这种数据结构有更好的方法吗?使用 Vector 的原因是动态调整大小,即元素的数量不同,我想对 Vector 使用add
和trimToSize
方法。
谢谢!
改为使用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
,这是一个双向链表。
当然,您还应该使用更好的命名约定来描述值的实际含义,而不是我在示例中使用的名称。
Apache commons 提供了一个不错的Pair 类来存储两个值。使用大小为 2 的数组看起来有点 hacky。