热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

com.google.common.collect.MultimapBuilder类的使用及代码示例

本文整理了Java中com.google.common.collect.MultimapBuilder类的一些代码示例,展示了MultimapBuilder

本文整理了Java中com.google.common.collect.MultimapBuilder类的一些代码示例,展示了MultimapBuilder类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MultimapBuilder类的具体详情如下:
包路径:com.google.common.collect.MultimapBuilder
类名称:MultimapBuilder

MultimapBuilder介绍

[英]A builder for a multimap implementation that allows customization of the backing map and value collection implementations used in a particular multimap.

This can be used to easily configure multimap data structure implementations not provided explicitly in com.google.common.collect, for example:

ListMultimap treeListMultimap =

MultimapBuilder instances are immutable. Invoking a configuration method has no effect on the receiving instance; you must store and use the new builder instance it returns instead.

The generated multimaps are serializable if the key and value types are serializable, unless stated otherwise in one of the configuration methods.
[中]多映射实现的生成器,允许自定义特定多映射中使用的支持映射和值集合实现。
这可用于轻松配置com中未明确提供的多映射数据结构实现。谷歌。常见的收集,例如:

ListMultimap treeListMultimap =

MultimapBuilder实例是不可变的。调用配置方法对接收实例没有影响;您必须存储并使用它返回的新生成器实例。
如果键和值类型是可序列化的,则生成的多重映射是可序列化的,除非在其中一种配置方法中另有说明。

代码示例

代码示例来源:origin: google/guava

public void testGenerics_gwtCompatible() {
ListMultimap a =
MultimapBuilder.hashKeys().arrayListValues().build();
SortedSetMultimap b =
MultimapBuilder.linkedHashKeys().treeSetValues().build();
SetMultimap c =
MultimapBuilder.treeKeys(String.CASE_INSENSITIVE_ORDER)
.hashSetValues()
.build();
}

代码示例来源:origin: google/guava

/**
* Returns a {@code Multimap} with the specified implementation, initialized with the entries of
* {@code multimap}.
*/
public Multimap build(
Multimap multimap) {
Multimap result = build();
result.putAll(multimap);
return result;
}

代码示例来源:origin: greenaddress/GreenBits

@Override
protected Multimap getStateTransitions() {
Multimap result = MultimapBuilder.enumKeys(State.class).arrayListValues().build();
result.put(State.UNINITIALISED, State.NEW);
result.put(State.UNINITIALISED, State.READY);
result.put(State.NEW, State.SAVE_STATE_IN_WALLET);
result.put(State.SAVE_STATE_IN_WALLET, State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER);
result.put(State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, State.READY);
result.put(State.READY, State.EXPIRED);
result.put(State.READY, State.CLOSED);
return result;
}

代码示例来源:origin: dstl/baleen

private Multimap collateMentionsIntoEntities(
final Map mentions) {
final Multimap map =
MultimapBuilder.hashKeys().arrayListValues().build();
mentions.values().forEach(m -> map.put(m.getEntityId(), m));
return map;
}

代码示例来源:origin: Swagger2Markup/swagger2markup

operatiOnsGroupedByTag= LinkedHashMultimap.create();
} else {
operatiOnsGroupedByTag= MultimapBuilder.linkedHashKeys().treeSetValues(operationOrdering).build();
logger.debug("Added path operation '{}' to tag '{}'", operation, tag);
operationsGroupedByTag.put(tag, operation);

代码示例来源:origin: dstl/baleen

private void addMetadata(JCas jCas, Document doc) {
Multimap meta = MultimapBuilder.linkedHashKeys().linkedListValues().build();
for (Metadata metadata : JCasUtil.select(jCas, Metadata.class)) {
String key = metadata.getKey();
if (key.contains(".")) { // Field names can't contain a "." in Mongo, so replace with a _
key = key.replaceAll("\\.", "_");
}
meta.put(key, metadata.getValue());
}
doc.append(FIELD_METADATA, meta.asMap());
}

代码示例来源:origin: com.torodb.torod.backends/common

.enumKeys(ScalarType.class)
.hashSetValues()
.build();
byTypeValues.put(value.getType(), value);
if (byTypeValues.isEmpty()) {
result = Collections.emptyList();
} else {

代码示例来源:origin: imperial-crystalline-recursion/abtestgen

private void generateViewTests(Set annotations,
RoundEnvironment roundEnv) {
Multimap viewTestMap =
MultimapBuilder.linkedHashKeys().arrayListValues().build();
getTextTests(roundEnv, viewTestMap);
getResTests(roundEnv, viewTestMap);
Set strings = viewTestMap.keys().elementSet();
String[] keys = strings.toArray(new String[strings.size()]);
for (String key : keys) {
processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING, key);
createTest(key, viewTestMap.get(key));
}
}

代码示例来源:origin: prestodb/presto

idxConstraintRangePairs.asMap().forEach((key, value) -> executor.submit(() -> {
long cardinality = getColumnCardinality(schema, table, auths, key.getFamily(), key.getQualifier(), value);
LOG.debug("Cardinality for column %s is %s", key.getName(), cardinality);
ListMultimap cardinalityToCOnstraints= MultimapBuilder.treeKeys().arrayListValues().build();
try {
boolean earlyReturn = false;
int numTasks = idxConstraintRangePairs.asMap().entrySet().size();
do {

代码示例来源:origin: google/guava

public void testFlatteningToMultimap() {
Collector> collector =
Multimaps.flatteningToMultimap(
str -> str.charAt(0),
str -> str.substring(1).chars().mapToObj(c -> (char) c),
MultimapBuilder.linkedHashKeys().arrayListValues()::build);
BiPredicate, Multimap> equivalence =
Equivalence.equals()
.onResultOf((Multimap mm) -> ImmutableList.copyOf(mm.asMap().entrySet()))
.and(Equivalence.equals());
ListMultimap empty =
MultimapBuilder.linkedHashKeys().arrayListValues().build();
ListMultimap filled =
MultimapBuilder.linkedHashKeys().arrayListValues().build();
filled.putAll('b', Arrays.asList('a', 'n', 'a', 'n', 'a'));
filled.putAll('a', Arrays.asList('p', 'p', 'l', 'e'));
filled.putAll('c', Arrays.asList('a', 'r', 'r', 'o', 't'));
filled.putAll('a', Arrays.asList('s', 'p', 'a', 'r', 'a', 'g', 'u', 's'));
filled.putAll('c', Arrays.asList('h', 'e', 'r', 'r', 'y'));
CollectorTester.of(collector, equivalence)
.expectCollects(empty)
.expectCollects(filled, "banana", "apple", "carrot", "asparagus", "cherry");
}

代码示例来源:origin: glowroot/glowroot

synchronized void updateCache() {
Multimap newClassNameLocatiOns= HashMultimap.create();
for (ClassLoader loader : getKnownClassLoaders()) {
updateCache(loader, newClassNameLocations);
}
updateCacheWithClasspathClasses(newClassNameLocations);
updateCacheWithBootstrapClasses(newClassNameLocations);
if (!newClassNameLocations.isEmpty()) {
// multimap that sorts keys and de-dups values while maintains value ordering
SetMultimap newMap =
MultimapBuilder.treeKeys().linkedHashSetValues().build();
newMap.putAll(classNameLocations);
newMap.putAll(newClassNameLocations);
classNameLocatiOns= ImmutableMultimap.copyOf(newMap);
}
}

代码示例来源:origin: google/guava

/** Uses a hash table to map keys to value collections. */
public static MultimapBuilderWithKeys hashKeys() {
return hashKeys(DEFAULT_EXPECTED_KEYS);
}

代码示例来源:origin: google/guava

@GwtIncompatible // serialization
public void testSerialization() throws Exception {
for (MultimapBuilderWithKeys builderWithKeys :
ImmutableList.of(
MultimapBuilder.hashKeys(),
MultimapBuilder.linkedHashKeys(),
MultimapBuilder.treeKeys(),
MultimapBuilder.enumKeys(RoundingMode.class))) {
for (MultimapBuilder builder :
ImmutableList.of(
builderWithKeys.arrayListValues(),
builderWithKeys.linkedListValues(),
builderWithKeys.hashSetValues(),
builderWithKeys.linkedHashSetValues(),
builderWithKeys.treeSetValues(),
builderWithKeys.enumSetValues(RoundingMode.class))) {
/*
* Temporarily inlining SerializableTester here for obscure internal reasons.
*/
reserializeAndAssert(builder.build());
}
}
}

代码示例来源:origin: google/guava

/**
* Uses a hash table to map keys to value collections.
*
*

The collections returned by {@link Multimap#keySet()}, {@link Multimap#keys()}, and {@link
* Multimap#asMap()} will iterate through the keys in the order that they were first added to the
* multimap, save that if all values associated with a key are removed and then the key is added
* back into the multimap, that key will come last in the key iteration order.
*/
public static MultimapBuilderWithKeys linkedHashKeys() {
return linkedHashKeys(DEFAULT_EXPECTED_KEYS);
}

代码示例来源:origin: google/guava

/**
* Uses a naturally-ordered {@link TreeMap} to map keys to value collections.
*
*

The collections returned by {@link Multimap#keySet()}, {@link Multimap#keys()}, and {@link
* Multimap#asMap()} will iterate through the keys in sorted order.
*
*

For all multimaps generated by the resulting builder, the {@link Multimap#keySet()} can be
* safely cast to a {@link java.util.SortedSet}, and the {@link Multimap#asMap()} can safely be
* cast to a {@link java.util.SortedMap}.
*/
@SuppressWarnings("rawtypes")
public static MultimapBuilderWithKeys treeKeys() {
return treeKeys(Ordering.natural());
}

代码示例来源:origin: com.atlassian.oai/swagger-request-validator-core

static Multimap multimapBuilder(final boolean caseSensitive) {
return caseSensitive ? MultimapBuilder.hashKeys().arrayListValues().build() :
MultimapBuilder.treeKeys(String.CASE_INSENSITIVE_ORDER).arrayListValues().build();
}

代码示例来源:origin: google/guava

@Override
public ListMultimap build(
Multimap multimap) {
return (ListMultimap) super.build(multimap);
}
}

代码示例来源:origin: HashEngineering/dashj

@Override
protected Multimap getStateTransitions() {
Multimap result = MultimapBuilder.enumKeys(State.class).arrayListValues().build();
result.put(State.UNINITIALISED, State.NEW);
result.put(State.UNINITIALISED, State.READY);
result.put(State.NEW, State.SAVE_STATE_IN_WALLET);
result.put(State.SAVE_STATE_IN_WALLET, State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER);
result.put(State.PROVIDE_MULTISIG_CONTRACT_TO_SERVER, State.READY);
result.put(State.READY, State.EXPIRED);
result.put(State.READY, State.CLOSED);
return result;
}

代码示例来源:origin: org.apache.brooklyn/brooklyn-core

@Test
public void testSerializeStringKey() throws Exception {
Multimap map = MultimapBuilder.hashKeys().arrayListValues().build();
map.put("a", 1);
map.put("a", 2);
map.put("a", 3);
String json = mapper.writer().writeValueAsString(map);
assertEquals(json, "{\"a\":[1,2,3]}");
}

代码示例来源:origin: google/j2objc

/** Uses a hash table to map keys to value collections. */
public static MultimapBuilderWithKeys hashKeys() {
return hashKeys(DEFAULT_EXPECTED_KEYS);
}

推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 电话号码的字母组合解题思路和代码示例
    本文介绍了力扣题目《电话号码的字母组合》的解题思路和代码示例。通过使用哈希表和递归求解的方法,可以将给定的电话号码转换为对应的字母组合。详细的解题思路和代码示例可以帮助读者更好地理解和实现该题目。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • 本文介绍了一个Java猜拳小游戏的代码,通过使用Scanner类获取用户输入的拳的数字,并随机生成计算机的拳,然后判断胜负。该游戏可以选择剪刀、石头、布三种拳,通过比较两者的拳来决定胜负。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文讨论了使用差分约束系统求解House Man跳跃问题的思路与方法。给定一组不同高度,要求从最低点跳跃到最高点,每次跳跃的距离不超过D,并且不能改变给定的顺序。通过建立差分约束系统,将问题转化为图的建立和查询距离的问题。文章详细介绍了建立约束条件的方法,并使用SPFA算法判环并输出结果。同时还讨论了建边方向和跳跃顺序的关系。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
author-avatar
暗恋具体哦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有