/** {@inheritDoc} */ @Override public boolean replace(final K k, final long oldValue, final long v) { final int pos = find(k); if (pos < 0 || !((oldValue) == (value[pos]))) return false; value[pos] = v; return true; } /** {@inheritDoc} */
/** {@inheritDoc} */ @Override public long replace(final K k, final long v) { final int pos = find(k); if (pos < 0) return defRetValue; final long oldValue = value[pos]; value[pos] = v; return oldValue; } /** {@inheritDoc} */
/** {@inheritDoc} */ @Override public long putIfAbsent(final K k, final long v) { final int pos = find(k); if (pos >= 0) return value[pos]; insert(-pos - 1, k, v); return defRetValue; } /** {@inheritDoc} */
@Override public long put(final K k, final long v) { final int pos = find(k); if (pos < 0) { insert(-pos - 1, k, v); return defRetValue; } final long oldValue = value[pos]; value[pos] = v; return oldValue; } private long addToValue(final int pos, final long incr) {
/** {@inheritDoc} */ @Override public long computeLongIfAbsent(final K k, final java.util.function.ToLongFunction<? super K> mappingFunction) { java.util.Objects.requireNonNull(mappingFunction); final int pos = find(k); if (pos >= 0) return value[pos]; final long newValue = mappingFunction.applyAsLong(k); insert(-pos - 1, k, newValue); return newValue; } /** {@inheritDoc} */
/** {@inheritDoc} */ @Override public long computeLongIfPresent(final K k, final java.util.function.BiFunction<? super K, ? super Long, ? extends Long> remappingFunction) { java.util.Objects.requireNonNull(remappingFunction); final int pos = find(k); if (pos < 0) return defRetValue; final Long newValue = remappingFunction.apply((k), Long.valueOf(value[pos])); if (newValue == null) { if (((k) == null)) removeNullEntry(); else removeEntry(pos); return defRetValue; } return value[pos] = (newValue).longValue(); } /** {@inheritDoc} */
/** {@inheritDoc} */ @Override public long mergeLong(final K k, final long v, final java.util.function.BiFunction<? super Long, ? super Long, ? extends Long> remappingFunction) { java.util.Objects.requireNonNull(remappingFunction); final int pos = find(k); if (pos < 0) { insert(-pos - 1, k, v); return v; } final Long newValue = remappingFunction.apply(Long.valueOf(value[pos]), Long.valueOf(v)); if (newValue == null) { if (((k) == null)) removeNullEntry(); else removeEntry(pos); return defRetValue; } return value[pos] = (newValue).longValue(); } /*
/** {@inheritDoc} */ @Override public long computeLong(final K k, final java.util.function.BiFunction<? super K, ? super Long, ? extends Long> remappingFunction) { java.util.Objects.requireNonNull(remappingFunction); final int pos = find(k); final Long newValue = remappingFunction.apply((k), pos >= 0 ? Long.valueOf(value[pos]) : null); if (newValue == null) { if (pos >= 0) { if (((k) == null)) removeNullEntry(); else removeEntry(pos); } return defRetValue; } long newVal = (newValue).longValue(); if (pos < 0) { insert(-pos - 1, k, newVal); return newVal; } return value[pos] = newVal; } /** {@inheritDoc} */