Imagine we want to produce a Map with each unique word as a key and it’s frequency as the value.
Prior to Java 8 we would have to do something like this:
Map<String, Integer> map = new HashMap<>(); for(String word : words) { if(map.containsKey(word)) { int count = map.get(word); map.put(word, ++count); } else { map.put(word, 1); } }
However with the map.merge method we can now do:
Map<String, Integer> map = new HashMap<>();; for(String word : words) { map.merge(word, 1, Integer::sum); } return map;
Pretty nice eh?