本文整理了Java中io.vavr.collection.Map.put()
方法的一些代码示例,展示了Map.put()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Map.put()
方法的具体详情如下:
包路径:io.vavr.collection.Map
类名称:Map
方法名:put
[英]Convenience method for put(entry._1, entry._2).
[中]方便的看跌期权方法(记项1,记项2)。
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, M extends Map<K, V>> M put(M map, Tuple2<? extends K, ? extends V> entry) {
Objects.requireNonNull(entry, "entry is null");
return (M) map.put(entry._1, entry._2);
}
代码示例来源:origin: apache/incubator-pinot
private static Map<String, Object> storeSimpleFieldIntoMap(Object object, Class<?> type, String keyName,
Map<String, Object> values) {
// No object to write
if (object == null) {
return values;
}
if (Enum.class.isAssignableFrom(type)) {
object = object.toString();
}
return values.put(keyName, object);
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, M extends Map<K, V>> M replaceValue(M map, K key, V value) {
return map.containsKey(key) ? (M) map.put(key, value) : map;
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, U extends V, M extends Map<K, V>> M put(M map, K key, U value,
BiFunction<? super V, ? super U, ? extends V> merge) {
Objects.requireNonNull(merge, "the merge function is null");
final Option<V> currentValue = map.get(key);
if (currentValue.isEmpty()) {
return (M) map.put(key, value);
} else {
return (M) map.put(key, merge.apply(currentValue.get(), value));
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <T, K, V, M extends Map<K, V>> M ofStream(M map, java.util.stream.Stream<? extends T> stream,
Function<? super T, ? extends K> keyMapper,
Function<? super T, ? extends V> valueMapper) {
Objects.requireNonNull(stream, "stream is null");
Objects.requireNonNull(keyMapper, "keyMapper is null");
Objects.requireNonNull(valueMapper, "valueMapper is null");
return Stream.ofAll(stream).foldLeft(map, (m, el) -> (M) m.put(keyMapper.apply(el), valueMapper.apply(el)));
}
代码示例来源:origin: vavr-io/vavr
static <T, C, R extends Iterable<T>> Map<C, R> groupBy(Traversable<T> source, Function<? super T, ? extends C> classifier, Function<? super Iterable<T>, R> mapper) {
Objects.requireNonNull(classifier, "classifier is null");
Objects.requireNonNull(mapper, "mapper is null");
Map<C, R> results = LinkedHashMap.empty();
for (java.util.Map.Entry<? extends C, Collection<T>> entry : groupBy(source, classifier)) {
results = results.put(entry.getKey(), mapper.apply(entry.getValue()));
}
return results;
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <T, K, V, M extends Map<K, V>> M ofStream(M map, java.util.stream.Stream<? extends T> stream,
Function<? super T, Tuple2<? extends K, ? extends V>> entryMapper) {
Objects.requireNonNull(stream, "stream is null");
Objects.requireNonNull(entryMapper, "entryMapper is null");
return Stream.ofAll(stream).foldLeft(map, (m, el) -> (M) m.put(entryMapper.apply(el)));
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, M extends Map<K, V>> M replace(M map, Tuple2<K, V> currentElement, Tuple2<K, V> newElement) {
Objects.requireNonNull(currentElement, "currentElement is null");
Objects.requireNonNull(newElement, "newElement is null");
return (M) (map.containsKey(currentElement._1) ? map.remove(currentElement._1).put(newElement) : map);
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, K2, U extends Map<K2, V>> U mapKeys(Map<K, V> source, U zero, Function<? super K, ? extends K2> keyMapper, BiFunction<? super V, ? super V, ? extends V> valueMerge) {
Objects.requireNonNull(zero, "zero is null");
Objects.requireNonNull(keyMapper, "keyMapper is null");
Objects.requireNonNull(valueMerge, "valueMerge is null");
return source.foldLeft(zero, (acc, entry) -> {
final K2 k2 = keyMapper.apply(entry._1);
final V v2 = entry._2;
final Option<V> v1 = acc.get(k2);
final V v = v1.isDefined() ? valueMerge.apply(v1.get(), v2) : v2;
return (U) acc.put(k2, v);
});
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, M extends Map<K, V>> M replace(M map, K key, V oldValue, V newValue) {
return map.contains(Tuple(key, oldValue)) ? (M) map.put(key, newValue) : map;
}
代码示例来源:origin: apache/incubator-pinot
@Override
public Map<String, ?> unapply(Map<String, ?> childKeys, String pathPrefix) {
String tableNameWithSuffix = childKeys.filterKeys(key -> key.startsWith("table.name")).head()._2.toString();
return ((Map<String, Object>) childKeys).filterKeys(key -> !key.startsWith("table.name"))
.put("table.name", TableNameBuilder.extractRawTableName(tableNameWithSuffix));
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, M extends Map<K, V>> Tuple2<V, M> computeIfAbsent(M map, K key, Function<? super K, ? extends V> mappingFunction) {
Objects.requireNonNull(mappingFunction, "mappingFunction is null");
final Option<V> value = map.get(key);
if (value.isDefined()) {
return Tuple.of(value.get(), map);
} else {
final V newValue = mappingFunction.apply(key);
final M newMap = (M) map.put(key, newValue);
return Tuple.of(newValue, newMap);
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
private <K2, V2> Multimap<K2, V2> createFromEntries(Iterable<? extends Tuple2<? extends K2, ? extends V2>> entries) {
Map<K2, Traversable<V2>> back = emptyMapSupplier();
for (Tuple2<? extends K2, ? extends V2> entry : entries) {
if (back.containsKey(entry._1)) {
back = back.put(entry._1, containerType.add(back.get(entry._1).get(), entry._2));
} else {
back = back.put(entry._1, containerType.add(emptyContainer.get(), entry._2));
}
}
return createFromMap(back);
}
代码示例来源:origin: apache/incubator-pinot
@Override
public java.util.List<T> handleChildKeys(Map<String, ?> childKeys, String pathPrefix) {
Seq<T> valueList = childKeys.groupBy(tuple2 -> tuple2._1.split("\\.", 2)[0]).flatMap(tuple2 -> {
String key = tuple2._1;
Map<String, ?> values = tuple2._2;
// Drop the prefix
Map<String, Object> valuesWithoutPrefix =
values.map((configKey, configValue) -> Tuple.of(configKey.substring(key.length() + 1), configValue));
valuesWithoutPrefix = valuesWithoutPrefix.put("name", key);
T value;
try {
value = Deserializer.deserialize(_type, valuesWithoutPrefix, "");
return Option.some(value);
} catch (Exception e) {
e.printStackTrace();
return Option.none();
}
});
return valueList.asJava();
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, U extends V, M extends Map<K, V>> M merge(
M map, OfEntries<K, V, M> ofEntries,
Map<? extends K, U> that, BiFunction<? super V, ? super U, ? extends V> collisionResolution) {
Objects.requireNonNull(that, "that is null");
Objects.requireNonNull(collisionResolution, "collisionResolution is null");
if (map.isEmpty()) {
return ofEntries.apply(Map.narrow(that));
} else if (that.isEmpty()) {
return map;
} else {
return that.foldLeft(map, (result, entry) -> {
final K key = entry._1;
final U value = entry._2;
final V newValue = result.get(key).map(v -> (V) collisionResolution.apply(v, value)).getOrElse(value);
return (M) result.put(key, newValue);
});
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
@Override
public M put(K key, V value) {
final Traversable<V> values = back.get(key).getOrElse((Traversable<V>) emptyContainer.get());
final Traversable<V> newValues = containerType.add(values, value);
return (M) (newValues == values ? this : createFromMap(back.put(key, newValues)));
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
static <K, V, M extends Map<K, V>> Tuple2<Option<V>, M> computeIfPresent(M map, K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction) {
final Option<V> value = map.get(key);
if (value.isDefined()) {
final V newValue = remappingFunction.apply(key, value.get());
final M newMap = (M) map.put(key, newValue);
return Tuple.of(Option.of(newValue), newMap);
} else {
return Tuple.of(Option.none(), map);
}
}
代码示例来源:origin: apache/incubator-pinot
@Override
public Map<String, ?> unapply(Map<String, ?> config, String keyPrefix) {
Map<String, ?> tableTypeMap = config.filterKeys(key -> key.startsWith("table.type."));
java.util.List<String> tableTypes = tableTypeMap.values().map(Object::toString).toSet().toJavaList();
Map<String, Object> remappedConfig =
((Map<String, Object>) config).removeAll(tableTypeMap.keySet()).put("table.types", tableTypes);
return remappedConfig;
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
@Override
public <K2 extends K, V2 extends V> M merge(Multimap<K2, V2> that, BiFunction<Traversable<V>, Traversable<V2>, Traversable<V>> collisionResolution) {
Objects.requireNonNull(that, "that is null");
Objects.requireNonNull(collisionResolution, "collisionResolution is null");
if (isEmpty()) {
return (M) createFromEntries(that);
} else if (that.isEmpty()) {
return (M) this;
} else {
final Map<K, Traversable<V>> result = that.keySet().foldLeft(this.back, (map, key) -> {
final Traversable<V> thisValues = map.get(key).getOrElse((Traversable<V>) emptyContainer.get());
final Traversable<V2> thatValues = that.get(key).get();
final Traversable<V> newValues = collisionResolution.apply(thisValues, thatValues);
return map.put(key, newValues);
});
return (M) createFromMap(result);
}
}
代码示例来源:origin: vavr-io/vavr
@SuppressWarnings("unchecked")
@Override
public M remove(K key, V value) {
final Traversable<V> values = back.get(key).getOrElse((Traversable<V>) emptyContainer.get());
final Traversable<V> newValues = containerType.remove(values, value);
if (newValues == values) {
return (M) this;
} else if (newValues.isEmpty()) {
return (M) createFromMap(back.remove(key));
} else {
return (M) createFromMap(back.put(key, newValues));
}
}
内容来源于网络,如有侵权,请联系作者删除!