2

ここに私が持っているものがあります:

HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();

しかし、内部ハッシュマップには名前がないため、これに値を追加するのに問題があります (注: 想定されていません)。私は実際に HashMap の最初の Integer に配列リストを追加しようとしているので、次のようなことを試みています:

data.put(var, data.get(array.get(x), y));

これはあまり好きではなく、私はそれを行う方法についてまったく無知です.

4

4 に答える 4

5

ご了承ください

HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();

「外側」の HashMap インスタンスのみを作成します。このステートメントの後、文字列をキーおよび値として受け取る空の HashMap が作成HashMap<Integer, Integer>されます。

HashMap<Integer, Integer>これでtoのインスタンスを追加できますdata:

data.put("myKey", new HashMap<Integer, Integer>());

その後、整数値を 2 番目の HashMap に追加できます。

data.get("myKey").put(123, 456); // use 123 as key and 456 as value

値を取得します。

data.get("myKey").get(123); // returns 456
于 2013-03-24T17:56:14.350 に答える
1

最初に内部ハッシュ マップを取得する必要があります。

HashMap<Integer,Integer> innerData = data.get(var);

次に、それに値を入れることができます:

innerData.put(x, y);
于 2013-03-24T18:00:31.897 に答える
0

次のようにしてください:

data.put( var, new HashMap(intKey, intVal));

ここで、intKey と intVal は整数型のキーと整数型の値です。

于 2013-03-24T17:56:10.943 に答える
0
HashMap<String,HashMap<Integer,Integer>> data =
            new HashMap<String,HashMap<Integer,Integer>>();
((Map)data.get( "keyname" )).get(1);

その後:

   ((Map)data.get( "keyname" )).get( 1 ).put(2);
于 2013-03-24T17:54:35.447 に答える