guava/src/com/google/common/util/concurrent/AtomicLongMap.java
@CanIgnoreReturnValue
  public long updateAndGet(K key, LongUnaryOperator updaterFunction) {
    checkNotNull(updaterFunction);
    return map.compute(
        key, (k, value) -> updaterFunction.applyAsLong((value == null) ? 0L : value.longValue()));
  }
@CanIgnoreReturnValue
  public long updateAndGet(K key, LongUnaryOperator updaterFunction) {
    checkNotNull(updaterFunction);
    return map.compute(
        key, (k, value) -> updaterFunction.applyAsLong((value == null) ? 0L : value.longValue()));
  }
@ CanIgnoreReturnValue public long updateAndGet ( K key , LongUnaryOperator updaterFunction ) { checkNotNull ( updaterFunction ) ; return map . compute ( key , ( k , value ) -> updaterFunction . applyAsLong ( ( value == null ) ? 0L : value . longValue ( ) ) ) ; }
Updates the value currently associated with {@code key} with the specified function, and
returns the new value. If there is not currently a value associated with {@code key}, the
function is applied to {@code 0L}.

@since 21.0
Updates the value currently associated with { @code key } with the specified function and returns the new value . If there is not currently a value associated with { @code key } the function is applied to { @code 0L } .