A multimap is a Map which maps a single key to multiple values e.g. HashMap<String, List<String>>
.
Java 8 introduces a Map.computeIfAbsent
method, which makes inserting values into a multimap much simpler:
Map<String, List<String>> multimap = new HashMap<>(); multimap.computeIfAbsent(key, k -> new ArrayList<>()).add(value);
Prior to Java 8, a multimap was usually created as follows:
// create the map Map<String, List<String>> multimap = new HashMap<>(); // put a key/value into the map List<String> list = multimap.get(key); if (list == null) { multimap.put(key, list = new ArrayList<>()); } list.add(value);
Or with Guava's Multimap
class:
ListMultimap<String, String> multimap = ArrayListMultimap.create(); multimap.put(key, value);
You can read more about Java 8 updates to the Map
class in my previous blog post.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.