Search code examples
javadata-structuresdictionarytypeschaining

Looking for a "chained map" implementation in Java


I need a mapping from a list of keys to a value. I know I could write my own code like this:

Map<Person, Map<Daytime, Map<Food, Integer>>> eaten = ...;

Now I want to have some get and put methods like these:

Integer numberOfEggsIAteInTheMorning = eaten.get(me, morning, scrambledEggs);
eaten.put(me, evening, scrambledEggs, 1);

Do you know of an existing class that has this kind of API? I'm too lazy of writing it myself. ;)


Solution

  • You can use org.apache.commons.collections.keyvalue.MultiKey for that: Map<Multikey, Object>