特定の値の組み合わせの発生をカウントするためにマルチキーバッグを使用していますが、これらのバッグを TreeMaps のようなネストされた SortedMaps に変換するエレガントな方法があるかどうか疑問に思っていました。ネストされた TreeMap の数は、マルチ キーのコンポーネントの数と同じです。たとえば、キーが定義されたマルチ キー バッグがあるとします。
multiKey = new String[]{"age", "height", "gender"}
したがって、そこから取得したいオブジェクトは次のようになります。
TreeMap<Integer, TreeMap<Integer, TreeMap<Integer, Integer>>>
マルチキーバッグからの値を入力します。したがって、ネストされた構造には、次のようにマルチ キーからの値が含まれます。
TreeMap<"age", TreeMap<"height", TreeMap<"gender", count>>>
ここで、「age」はバッグからの対応する値に置き換えられ、「height」なども同様です。countは、その特定の組み合わせの発生回数です (マルチ キー バッグ自体によって返されます)。
もちろん、マルチキーのコンポーネント数は動的です。multiKey に 2 つのコンポーネントしかない場合、結果のオブジェクトは次のようになります。
TreeMap<Integer<TreeMap<Integer, Integer>>
バッグから値を取得し、(ネストされた) TreeMap に値を設定しても問題はありません。変換のみです。どんな助けでも大歓迎です。