Java使用multimap数据结构
我们希望得到键可以重复的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数据结构相关推荐
- 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结
20172328 2018-2019<Java软件结构与数据结构>第八周学习总结 概述 Generalization 本周学习了二叉树的另一种有序扩展?是什么呢?你猜对了!ヾ(◍°∇°◍) ...
- 动图 + 源码,演示 Java 中常用数据结构执行过程及原理
最近在整理数据结构方面的知识, 系统化看了下Java中常用数据结构, 突发奇想用动画来绘制数据流转过程. 主要基于jdk8, 可能会有些特性与jdk7之前不相同, 例如LinkedList Linke ...
- 2018-2019-20172329 《Java软件结构与数据结构》第九周学习总结
2018-2019-20172329 <Java软件结构与数据结构>第九周学习总结 教材学习内容总结 <Java软件结构与数据结构>第十五章-图 一.图及无向图 1.图的相关概 ...
- JAVA 中的数据结构
Java 数据结构 Java工具包提供了强大的数据结构.在Java中的数据结构主要包括以下几种接口和类: 枚举(Enumeration) 位集合(BitSet) 向量(Vector) 栈(Stack) ...
- [转]详细介绍java中的数据结构
详细介绍java中的数据结构 本文介绍的是java中的数据结构,本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类.一起来看本文吧! 也许你已经熟练使用了java.util包里面的各 ...
- 数据结构中缀表达式转后缀表达式与后缀表达式的求值实训报告_动图+源码,演示 Java 中常用数据结构执行过程及原理...
程序员的成长之路互联网/程序员/成长/职场 关注 阅读本文大概需要 3.7 分钟. 作者:大道方圆cnblogs.com/xdecode/p/9321848.html 最近在整理数据结构方面的知识, ...
- 数据结构java 图实验代码_20172329 2018-2019 《Java软件结构与数据结构》实验三报告...
20172329 2018-2019-2 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构>html 班级: 1723java 姓名: 王文彬lin ...
- java数组的声明学号姓名线性结构_20172302 《Java软件结构与数据结构》实验一:线性结构实验报告...
课程:<Java软件结构与数据结构> 班级: 1723 姓名: 侯泽洋 学号:20172302 实验教师:王志强老师 实验日期:2018年9月26日 必修/选修: 必修 实验内容 (1)链 ...
- 【Java】图解 Java 中的数据结构及原理
原文:http://www.javastack.cn/article/2018/data-structure-and-the-principle-diagram/ 最近在整理数据结构方面的知识, 系统 ...
最新文章
- Tomcat中组件的生命周期管理(三)
- Bug in Code CodeForces - 420C (计数,图论)
- 1.2、获取、创建 ApplicationContextInitializer
- 19春北理工计算机应用基础,19春北理工《计算机应用基础》在线作业(02)【标准答案】.doc...
- Atititi 版本管理 rc final rtm ga release 软件的生命周期中一般分4个版本
- R语言大作业(全国2000-2019年人口各项数据分析)
- 360极速浏览器兼容模式怎么设置在哪
- 出租车计费器的Verilog语言简单完成
- TF-IDF算法简介
- H3C ipsec psk aggressive mode配置
- 2021window10下的IDEA安装
- 高等数学 下册 第九章 平面及空间点集 笔记
- 蓝桥杯 算法练习 数字游戏
- 《iPad开发从入门到精通》——6.3节站站查询
- JavaScript小技能:语言特点
- 【程序23】 	题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。 	问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大 	两岁。问第2个人,说比第一个人大两岁。最后问第一
- Mac 不显示未知来源选项的解决办法
- 《计算机网络》day03-计算机网络的体系结构
- Java SE 05 方法
- Sharding-Sphere 3.X万众瞩目登场,如约而至!
热门文章
- ubuntu 创建共享盘
- 关注Android通话变音的技术实现
- hmacsha256 java_java生成HMACSHA256的方法
- 青少年软件编程C++二级题库(1-10)
- springmvc ajax excel文件上传,JSP+ajax+springMVC+MayBatis处理excel上传导入
- 【RPA之家转载】RPA助力财务共享中心突破运营“天花板”?4个财务机器人应用
- javascript输出数据在控制台中console的常用方法(上)
- 四个高逼格技术简历制作技巧啦~
- 美股外汇市场量化接口有哪些优点?
- golang windows程序获取管理员权限(UAC )