1

ベクターのようなオブジェクトを取得して、複数のジェネリックを持つことは可能ですか? クラスを作成するときにそれが可能であることは知っていますが、通常の Java API (ベクター、スタックなど) に付属する他のクラスは複数のジェネリックを持つことができますか?

例えば:

Vector<String, Integer> vect = new Vector<String, Integer>();
vect.add("Hello!", 0);

これから、1 つのインデックスは文字列と整数の 2 つの値を持つことになります。

前もって感謝します!!

4

3 に答える 3

4

リストを使用できるので、私はベクトルを使用しません。あなたの場合、次のようなカスタムクラスを使用する必要があります

class MyClass {
    String s;
    int i;

    MyClass(String s, int i) {
        this.s = s;
        this.i = i;
    }
}

List<MyClass> list = new ArrayList<MyClass>();
list.add(new MyClass("Hello!", 0));

String s = list.get(0).s;
int i = list.get(0).i;
于 2012-11-15T15:00:57.553 に答える
3

ベクターなどのコレクションには、1 種類のオブジェクトのみを含めることができます。2 つのオブジェクトを保存しようとしています。格納するオブジェクトへの 2 つの参照を保持する StringIntegerTuple というクラスを作成し、Vector を宣言して代わりに複合オブジェクトを格納します。

意味的には HashMap が必要な可能性がありますが

于 2012-11-15T15:02:09.583 に答える
1

このVectorクラスは、拡張可能なオブジェクトの配列を実装しています。マップを探していると思います。マップjava.util.Map<key,value>の実装はHashMap<k,v>

Map<Integer,String> map = new HashMap<Integer,String>();
map.put(1,"str");
于 2012-11-15T14:59:52.630 に答える