本文整理了Java中java.util.Map.computeIfPresent()
方法的一些代码示例,展示了Map.computeIfPresent()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Map.computeIfPresent()
方法的具体详情如下:
包路径:java.util.Map
类名称:Map
方法名:computeIfPresent
暂无
代码示例来源:origin: google/guava
@Override
public V computeIfPresent(
K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
synchronized (mutex) {
return delegate().computeIfPresent(key, remappingFunction);
}
}
代码示例来源:origin: prestodb/presto
@Override
public V computeIfPresent(
K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
synchronized (mutex) {
return delegate().computeIfPresent(key, remappingFunction);
}
}
代码示例来源:origin: neo4j/neo4j
private void cleanupMonitorListeners( Object monitorListener, Method key )
{
methodMonitorListeners.computeIfPresent( key, ( method1, handlers ) ->
{
handlers.removeIf( handler -> monitorListener.equals( handler.getMonitorListener() ) );
return handlers.isEmpty() ? null : handlers;
} );
}
代码示例来源:origin: apache/incubator-druid
public void removeSegment(String serverName, DataSegment dataSegment)
{
serversCostCache.computeIfPresent(
serverName,
(s, builder) -> builder.removeSegment(dataSegment).isEmpty() ? null : builder
);
}
代码示例来源:origin: google/guava
@MapFeature.Require({SUPPORTS_PUT, ALLOWS_NULL_KEYS})
public void testComputeIfPresent_nullKeySupportedAbsent() {
assertNull(
"computeIfPresent(null, function) should return null",
getMap()
.computeIfPresent(
null,
(k, v) -> {
throw new AssertionFailedError();
}));
expectUnchanged();
}
代码示例来源:origin: google/guava
@MapFeature.Require(absent = SUPPORTS_PUT)
public void testComputeIfPresent_unsupportedAbsent() {
try {
getMap()
.computeIfPresent(
k3(),
(k, v) -> {
throw new AssertionFailedError();
});
} catch (UnsupportedOperationException tolerated) {
}
expectUnchanged();
}
代码示例来源:origin: google/guava
@MapFeature.Require(SUPPORTS_PUT)
public void testComputeIfPresent_supportedAbsent() {
assertNull(
"computeIfPresent(notPresent, function) should return null",
getMap()
.computeIfPresent(
k3(),
(k, v) -> {
throw new AssertionFailedError();
}));
expectUnchanged();
}
代码示例来源:origin: ben-manes/caffeine
@Override public Integer apply(Integer key, Integer value) {
if (recursed) {
throw new StackOverflowError();
}
recursed = true;
return map.computeIfPresent(key, this);
}
};
代码示例来源:origin: apache/incubator-druid
public Builder removeSegment(DataSegment dataSegment)
{
allSegmentsCostCache.removeSegment(dataSegment);
segmentsPerDataSource.computeIfPresent(
dataSegment.getDataSource(),
(ds, builder) -> builder.removeSegment(dataSegment).isEmpty() ? null : builder
);
return this;
}
代码示例来源:origin: ben-manes/caffeine
@CheckNoWriter @CheckNoStats
@Test(dataProvider = "caches")
@CacheSpec(removalListener = { Listener.DEFAULT, Listener.REJECTING })
public void computeIfPresent_absent(Map<Integer, Integer> map, CacheContext context) {
assertThat(map.computeIfPresent(context.absentKey(), (key, value) -> value), is(nullValue()));
assertThat(map.get(context.absentKey()), is(nullValue()));
assertThat(map.size(), is(context.original().size()));
}
代码示例来源:origin: google/guava
@MapFeature.Require(absent = SUPPORTS_PUT)
@CollectionSize.Require(absent = ZERO)
public void testComputeIfPresent_unsupportedPresent() {
try {
getMap().computeIfPresent(k0(), (k, v) -> v3());
fail("Expected UnsupportedOperationException");
} catch (UnsupportedOperationException expected) {
}
expectUnchanged();
}
}
代码示例来源:origin: google/guava
@MapFeature.Require({SUPPORTS_PUT, ALLOWS_NULL_VALUES})
@CollectionSize.Require(absent = ZERO)
public void testComputeIfPresent_nullTreatedAsAbsent() {
initMapWithNullValue();
assertNull(
"computeIfPresent(presentAssignedToNull, function) should return null",
getMap()
.computeIfPresent(
getKeyForNullValue(),
(k, v) -> {
throw new AssertionFailedError();
}));
expectReplacement(entry(getKeyForNullValue(), null));
}
代码示例来源:origin: ben-manes/caffeine
@Override public Integer apply(Integer key, Integer value) {
if (++recursed == 2) {
throw new StackOverflowError();
}
return map.computeIfPresent(context.lastKey(), this);
}
};
代码示例来源:origin: ben-manes/caffeine
@CheckNoWriter @CheckNoStats
@CacheSpec(removalListener = { Listener.DEFAULT, Listener.REJECTING })
@Test(dataProvider = "caches", expectedExceptions = NullPointerException.class)
public void computeIfPresent_nullKey(Map<Integer, Integer> map, CacheContext context) {
map.computeIfPresent(null, (key, value) -> -key);
}
代码示例来源:origin: ben-manes/caffeine
@CacheSpec
@Test(dataProvider = "caches")
public void compute_error(Map<Integer, Integer> map, CacheContext context) {
try {
map.compute(context.absentKey(), (key, value) -> { throw new Error(); });
} catch (Error e) {}
assertThat(map, is(equalTo(context.original())));
assertThat(context, both(hasMissCount(0)).and(hasHitCount(0)));
assertThat(context, both(hasLoadSuccessCount(0)).and(hasLoadFailureCount(1)));
assertThat(map.computeIfPresent(context.absentKey(), (k, v) -> -k), is(nullValue()));
}
代码示例来源:origin: ben-manes/caffeine
@Test(dataProvider = "caches")
@CacheSpec(population = { Population.SINGLETON, Population.PARTIAL, Population.FULL })
public void computeIfPresent_error(Map<Integer, Integer> map, CacheContext context) {
try {
map.computeIfPresent(context.firstKey(), (key, value) -> { throw new Error(); });
} catch (Error e) {}
assertThat(map, is(equalTo(context.original())));
assertThat(context, both(hasMissCount(0)).and(hasHitCount(0)));
assertThat(context, both(hasLoadSuccessCount(0)).and(hasLoadFailureCount(1)));
assertThat(map.computeIfPresent(context.firstKey(), (k, v) -> -k), is(-context.firstKey()));
}
代码示例来源:origin: google/guava
@MapFeature.Require(SUPPORTS_PUT)
@CollectionSize.Require(absent = ZERO)
public void testComputeIfPresent_functionReturnsNull() {
assertNull(
"computeIfPresent(present, returnsNull) should return null",
getMap()
.computeIfPresent(
k0(),
(k, v) -> {
assertEquals(k0(), k);
assertEquals(v0(), v);
return null;
}));
expectMissing(e0());
}
代码示例来源:origin: google/guava
@MapFeature.Require(SUPPORTS_PUT)
@CollectionSize.Require(absent = ZERO)
public void testComputeIfPresent_functionThrows() {
try {
getMap()
.computeIfPresent(
k0(),
(k, v) -> {
assertEquals(k0(), k);
assertEquals(v0(), v);
throw new ExpectedException();
});
fail("Expected ExpectedException");
} catch (ExpectedException expected) {
}
expectUnchanged();
}
代码示例来源:origin: google/guava
@MapFeature.Require(SUPPORTS_PUT)
@CollectionSize.Require(absent = ZERO)
public void testComputeIfPresent_supportedPresent() {
assertEquals(
"computeIfPresent(present, function) should return new value",
v3(),
getMap()
.computeIfPresent(
k0(),
(k, v) -> {
assertEquals(k0(), k);
assertEquals(v0(), v);
return v3();
}));
expectReplacement(entry(k0(), v3()));
}
代码示例来源:origin: google/guava
@MapFeature.Require({SUPPORTS_PUT, ALLOWS_NULL_KEYS})
@CollectionSize.Require(absent = ZERO)
public void testComputeIfPresent_nullKeySupportedPresent() {
initMapWithNullKey();
assertEquals(
"computeIfPresent(null, function) should return new value",
v3(),
getMap()
.computeIfPresent(
null,
(k, v) -> {
assertNull(k);
assertEquals(getValueForNullKey(), v);
return v3();
}));
Entry<K, V>[] expected = createArrayWithNullKey();
expected[getNullLocation()] = entry(null, v3());
expectContents(expected);
}
内容来源于网络,如有侵权,请联系作者删除!