google guava 重复key的Map范例使用
来源:互联网 发布:淘宝店铺悬浮导航制作 编辑:程序博客网 时间:2024/04/30 06:16
博客应该是高质量的,我这么想。
博主最近做项目时,遇到了及其复杂的集合,对象转换工作,大量用到了Map,List等,尤其是Map,类似会出现Map<Map<String,String>,Map<String,String>>这样的情况出现。而我毫无办法。因为往往是两个主键对应了一个信息组,不知道大家有没有遇到过,举个例子:一对夫妻生了很多孩子,那我要把这个数据表达出来,就出现了上面的情况。他们的孩子有多个,应该是一个List。我会这样表达,Map<Map<妻子ID,丈夫ID>,List<孩子ID>>。如果你得到了一组信息,丈夫,妻子,孩子。于是乎你把他们放到了上面的数据结构中。不错。但是!如果你又得到了一组信息。丈夫,妻子,孩子。尴尬的时候出现了。丈夫和妻子是key。Map中不可重复,直接put会覆盖之前的孩子信息。
写代码的时候,如果碰到这种情况,不是什么大不了的事,你总能通过一定的编码手段来组装进数据结构中。不过编码肯定复杂些,能不能简单点呢?这时候,我发现了guava中的MutiMap,发现非常好用。你不再需要考虑,直接put,不用考虑Map key不可重复,value会被替换这个蛋疼的问题。
例如:
Multimap<Map<String,String>> map = Maps.newHashMap();
Map<String,String> keyMap = Maps.newHashMap();
keyMap.put("woman","man")
map.put(keyMap,"child1");
map.put(keyMap,"child2");
正如你看到的,直接put就好,key会允许重复。如果要得到夫妇的孩子们,只需要 map.get(Map<String,String> keyMap).返回的是一个Collection<String> 集合,List,Set等继承了Collection 接口,你可以直接转换。
- google guava 重复key的Map范例使用
- google guava的Preconditions使用
- android Google map 范例
- key可以重复的Map集合:IdentityHashMap
- key可以重复的Map集合:IdentityHashMap
- 允许Key重复的Map - IdentityHashMap
- Google Map API使用详解(六)——Google Map API Key的解读和使用技巧
- 获取 Google Map Api key的方法
- 申请google map api-key的方法
- map key不可重复
- google guava简单使用
- google guava使用介绍
- google Guava Cache使用
- google guava使用例子
- Google Guava 使用经验总结
- Google map api key
- 获取 google map key
- 申请Google Map Key
- pickerSelecter
- 浅析Hadoop中的数据倾斜
- This Android SDK requires Andro...date ADT to the latest version问题
- elasticsearch-head
- Oracle_Update...Set...From...解决方法Merge Into...Using...
- google guava 重复key的Map范例使用
- GIT - 基本概念(分支, 差异, 合并)
- Solr相似度算法一:Lucene TF-IDF 相关性算分公式
- iOS tableViewscell的动画效果
- php pdo 链接数据库
- 在两台Linux机器之间配置一条SLIP链路,以便使用互联网socket进行通信
- 160. Intersection of Two Linked Lists
- sql server 月份减一
- SO_REUSEADDR