-1

更新しました:-

問題の説明は-

私はこれらのものを保管する必要があります-

For ID corresponding to 1, I need to Store these things

 - Key CGUID(String CGUID) and its Value, Key SGUID(String SGUID) and its Value, Key PGUID(String PGUID) and its Value, Key UID(String UID) and its Value, Key ALOC(String ALOC) and its Value

For ID corresponding to 2, I need to Store these things

- Key CGUID(String CGUID) and its Value, Key SGUID(String SGUID) and its Value, Key PGUID(String PGUID) and its Value, Key UID(String UID) and its Value, Key ALOC(String ALOC) and its Value

For ID corresponding to 3, I need to Store these things

- Key CGUID(String CGUID) and its Value, Key SGUID(String SGUID) and its Value, Key PGUID(String PGUID) and its Value, Key UID(String UID) and its Value, Key ALOC(String ALOC) and its Value

だからこの問題のために私はこのようなデータ構造を作ることを考えていました-

public static LinkedHashMap<String, Integer> GUID_VALUES = new LinkedHashMap<String, Integer>();

public static LinkedHashMap<Integer, LinkedHashMap<String, Integer>> GUID_ID_MAPPING = new LinkedHashMap<Integer, LinkedHashMap<String, Integer>>();

これよりも良い方法はありますか?

4

3 に答える 3

2

最終的に何を保存しようとしているのかは完全には明らかではありません。

マップのマップだけが必要な場合:

LinkedHashMap<Integer, LinkedHashMap<String, Integer>>

しかし、最後の「etc etc etc」は何ですか?親 ID ごとに複数の「子」ID がありますか? もしそうなら、おそらくある種のツリーが必要になるでしょう(これはマップによって実装できますが、それを抽象化することは理にかなっているように思えます)。

于 2012-05-28T21:53:36.913 に答える
1

Java では、以下を使用してそれを実現できます。

public class Data {
    public static LinkedHashMap<String, Integer> GUID_VALUES = new LinkedHashMap<String, Integer>();
    public static LinkedHashMap<Integer, Map<String, Integer>> GUID_ID_MAPPING = new LinkedHashMap<Integer, Map<String, Integer>>();

    static {
        Integer someNumber = 0; //or another value, its for initialize the key
        GUID_ID_MAPPING.put(someNumber,GUID_VALUES);
    }
}

それでも、なぜこれが本当に必要なのかわかりません。機能要件を投稿し、問題を解決するためのより良い設計を選択することをお勧めします.

于 2012-05-28T21:55:02.887 に答える
0

Apache Commons Collectionsで利用できるような、マルチキーマップが必要になる可能性があります。

http://commons.apache.org/collections/api-release/org/apache/commons/collections/map/MultiKeyMap.html

于 2012-05-28T21:49:59.300 に答える