Java Map implementation that returns a default value instead of null
default, java
Solution
@Jon's answer is a good way to do what you are asking directly.
But is strikes me that what you might be trying to implement is a "multimap"; i.e. a mapping from a key to a collection of values. If that is the case, then you should also look at the multimap classes in Guava or Apache commons collections.
Look at:
- the `com.google.common.collect.Multimap` interface and its implementations, or
- the `org.apache.commons.collections.MultiMap` interface and its implementations.
- the `org.apache.commons.collections4.MultiMap` interface and its implementations (a new version of the previous MultiMap; introduced in v4).
Problem
I have a `Map<String, List<String>>` in my code, where I'd avoid potential null pointers if the map's `#get()` method returned an empty list instead of null. Is there anything like this in the java API? Should I just extend `HashMap`?