我们希望得到键可以重复的map数据结构,这样在查询特定键时可以返回多个值,类似数据库的查询。Google Guava提供了一种优雅的数据结构Multimap可以实现一个键对应到多个值的效果。
创建:

Multimap<String,Object> myMultimap = ArrayListMultimap.create();

插入值:

        // Adding some key/valuemyMultimap.put("Fruits", "Bannana");myMultimap.put("Fruits", "Apple");myMultimap.put("Fruits", "Pear");myMultimap.put("Fruits", "Pear");myMultimap.put("Vegetables", "Carrot");

查询:

// Getting valuesCollection<String> fruits = myMultimap.get("Fruits");System.out.println(fruits); //  [Bannana, Apple, Pear, Pear]System.out.println(ImmutableSet.copyOf(fruits));// [Bannana, Apple, Pear]Collection<String> vegetables = myMultimap.get("Vegetables");

想要get返回List或者Set,在定义时可以定义为ListMultimap,SetMultimap和SortedSetMultimap等等

ListMutlimap<String,String> myMutlimap = ArrayListMultimap.create();List<string> myValues = myMutlimap.get("myKey");  // Returns a List, not a Collection.

更多用法参见Class Multimaps

Java使用multimap数据结构相关推荐

  1. 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(◍°∇°◍) ...

  2. 动图 + 源码,演示 Java 中常用数据结构执行过程及原理

    最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...

  3. 2018-2019-20172329 《Java软件结构与数据结构》第九周学习总结

    2018-2019-20172329 <Java软件结构与数据结构>第九周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十五章-图 一.图及无向图 1.图的相关概 ...

  4. JAVA 中的数据结构

    Java 数据结构 Java工具包提供了强大的数据结构.在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) ...

  5. [转]详细介绍java中的数据结构

    详细介绍java中的数据结构 本文介绍的是java中的数据结构,本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类.一起来看本文吧! 也许你已经熟练使用了java.util包里面的各 ...

  6. 数据结构中缀表达式转后缀表达式与后缀表达式的求值实训报告_动图+源码,演示 Java 中常用数据结构执行过程及原理...

    程序员的成长之路互联网/程序员/成长/职场 关注 阅读本文大概需要 3.7 分钟. 作者:大道方圆cnblogs.com/xdecode/p/9321848.html 最近在整理数据结构方面的知识, ...

  7. 数据结构java 图实验代码_20172329 2018-2019 《Java软件结构与数据结构》实验三报告...

    20172329 2018-2019-2 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构>html 班级: 1723java 姓名: 王文彬lin ...

  8. java数组的声明学号姓名线性结构_20172302 《Java软件结构与数据结构》实验一:线性结构实验报告...

    课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年9月26日 必修/选修: 必修 实验内容 (1)链 ...

  9. 【Java】图解 Java 中的数据结构及原理

    原文:http://www.javastack.cn/article/2018/data-structure-and-the-principle-diagram/ 最近在整理数据结构方面的知识, 系统 ...

最新文章

  1. Tomcat中组件的生命周期管理(三)
  2. Bug in Code CodeForces - 420C (计数,图论)
  3. 1.2、获取、创建 ApplicationContextInitializer
  4. 19春北理工计算机应用基础,19春北理工《计算机应用基础》在线作业(02)【标准答案】.doc...
  5. Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本
  6. R语言大作业(全国2000-2019年人口各项数据分析)
  7. 360极速浏览器兼容模式怎么设置在哪
  8. 出租车计费器的Verilog语言简单完成
  9. TF-IDF算法简介
  10. H3C ipsec psk aggressive mode配置
  11. 2021window10下的IDEA安装
  12. 高等数学 下册 第九章 平面及空间点集 笔记
  13. 蓝桥杯 算法练习 数字游戏
  14. 《iPad开发从入门到精通》——6.3节站站查询
  15. JavaScript小技能:语言特点
  16. 【程序23】 题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大 两岁。问第2个人,说比第一个人大两岁。最后问第一
  17. Mac 不显示未知来源选项的解决办法
  18. 《计算机网络》day03-计算机网络的体系结构
  19. Java SE 05 方法
  20. Sharding-Sphere 3.X万众瞩目登场,如约而至!

热门文章

  1. ubuntu 创建共享盘
  2. 关注Android通话变音的技术实现
  3. hmacsha256 java_java生成HMACSHA256的方法
  4. 青少年软件编程C++二级题库(1-10)
  5. springmvc ajax excel文件上传,JSP+ajax+springMVC+MayBatis处理excel上传导入
  6. 【RPA之家转载】RPA助力财务共享中心突破运营“天花板”?4个财务机器人应用
  7. javascript输出数据在控制台中console的常用方法(上)
  8. 四个高逼格技术简历制作技巧啦~
  9. 美股外汇市场量化接口有哪些优点?
  10. golang windows程序获取管理员权限(UAC )