diff --git a/flink-core/src/main/java/org/apache/flink/api/common/accumulators/Histogram.java b/flink-core/src/main/java/org/apache/flink/api/common/accumulators/Histogram.java index 682b6e994ed75..50b45c40eac9d 100644 --- a/flink-core/src/main/java/org/apache/flink/api/common/accumulators/Histogram.java +++ b/flink-core/src/main/java/org/apache/flink/api/common/accumulators/Histogram.java @@ -35,7 +35,7 @@ public class Histogram implements Accumulator private static final long serialVersionUID = 1L; - private TreeMap treeMap = new TreeMap(); + private TreeMap treeMap = new TreeMap<>(); @Override public void add(Integer value) { @@ -53,12 +53,7 @@ public TreeMap getLocalValue() { public void merge(Accumulator> other) { // Merge the values into this map for (Map.Entry entryFromOther : other.getLocalValue().entrySet()) { - Integer ownValue = this.treeMap.get(entryFromOther.getKey()); - if (ownValue == null) { - this.treeMap.put(entryFromOther.getKey(), entryFromOther.getValue()); - } else { - this.treeMap.put(entryFromOther.getKey(), entryFromOther.getValue() + ownValue); - } + this.treeMap.merge(entryFromOther.getKey(), entryFromOther.getValue(), Integer::sum); } } @@ -75,7 +70,7 @@ public String toString() { @Override public Accumulator> clone() { Histogram result = new Histogram(); - result.treeMap = new TreeMap(treeMap); + result.treeMap = new TreeMap<>(treeMap); return result; } }