Increment all values in a Map by 1 What's the neatest way to increment all values in a HashMap by 1? The map is &lt;String, Integer&gt;, but the key doesn't matter as every value will be incremented.

Is it "cleaner" to use lambdas with forEach/compute/etc. or just loop through the entries?

HashMap&lt;String, Integer&gt; map = mobCounter.get(mob);
for (Entry&lt;String, Integer&gt; e : map.entrySet()) {
    map.put(e.getKey(), e.getValue() + 1);
}


This doesn't look too messy to me but I'm wondering if people like seeing lambdas more.
You must not modify the keys of a HashMap while iterating over it. You are just lucky it worked.

Instead of the put(...), write e.setValue(e.getValue() + 1).

If you have some kind of Multiset available (e.g. when you are using Guava), you could replace your HashMap with a Multiset&lt;String&gt;, which will make your intention clearer.

Using lambdas, your code would look like:

map.replaceAll((k, v) -&gt; v + 1);


This looks very nice to me. It cannot get any shorter.