Vectorオブジェクトの要素としてString配列を使用することに興味があります。配列の長さは常に2になります。このデータ構造のより良い方法はありますか?Vectorを使用する理由は、動的なサイズ変更のためです。つまり、要素の数が異なるため、Vectorのadd
andtrimToSize
メソッドを使用したいと思います。
ありがとう!
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は、2つの値を格納するための優れたPairクラスを提供します。サイズ2の配列を使用すると、少しハッキーに見えます。