What is the increment value in hashmap java?
What's the neatest way to increment all values in a HashMap by 1? The map is
Is it "cleaner" to use lambdas with forEach/compute/etc. or just loop through the entries?
HashMapmap = mobCounter.get(mob); for (Entrye : 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.
For the increment value in hashmap java, 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, which will make your intention clearer. Using lambdas, your code would look like:
map.replaceAll((k, v) -> v + 1);
This looks very nice to me. It cannot get any shorter.