Do not implement it yourself. Use Google Guava ImmutableMap<String, Object>
Take a look at this Guava article about immutable collections.
When I feel need to implement some kind of special collection or cache, I always look first at Google Guava library. It covers most of such cases.