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`?

Original source

Related problems