新集合类的使用:BidiMap、MultiMap、LazyMap
来源:互联网 发布:西门子数控编程指令 编辑:程序博客网 时间:2024/06/05 17:35
最近在项目中发现apache common.collections中新增了几个集合类,对之前项目中遇到的一些想要解决的问题,提供了极为方便的方案
BitMap:
BidiMap,直译为双向Map,也就是可以通过key找value,也可以通过value找到key。这点在我们日常的 key-value 匹配的时候很方便。
因为我们除此之外需要通过代码找到名称之外,也需要处理用户输入的名称,然后获取代码。
所以,在BidiMap当中,不光是key不能重复,value也不可以重复。
MultiMap:
MultiMap就是说一个key不再是简单的指向一个对象,而是一组对象。
add()和remove()的时候,跟普通话的Map无异,只是在get()时返回一个Collection.
利用MultiMap,我们可以很方便的往一个key上放数量不定的对象,也就实现了一对多
LazyMap:
LazyMap 意思就是这个Map中的键/值对一开始并不存在,当被调用到时才创建。
我们这样来理解,我们需要一个Map,但是由于创建成员的方法很“重”(比如数据库访问)
我们只有在调用get()时才知道如何创建,或者Map中出现的可能性很多。
我们无法在get()之前添加所有可能出现的键/值对。
我们觉得没有必要去初始化一个Map而又希望它在必要时自动处理数据。
关于LazyMap的使用再说两点,一般需要使用LazyMap.decorate(Map,Factory)的方式来创建,实现Factory中的create方法。
0 0
- 新集合类的使用:BidiMap、MultiMap、LazyMap
- guava新集合类型——Multimap
- multimap的使用
- multimap 的使用例子
- multimap的迭代器的使用
- C++ multimap的简单使用
- 自动执行Nmap扫描的工具:LazyMap
- 自动执行 Nmap 扫描的工具 LazyMap
- 使用multimap
- C++ STL入门教程(7)——multimap(一对多索引),multiset(多元集合)的使用(附完整程序代码)
- C++的map与multimap的使用
- STL里的multimap使用简介
- STL的multimap使用(一对多索引)
- STL里的multimap使用简介
- 【转】STL里的multimap使用简介
- STL里的multimap使用简介
- STL的multimap使用(一对多索引)
- STL的multimap使用 一对多索引
- android电池充电以及电量检测驱动分析
- 安装IKAnalyzer2012分词器(windows7+tomcat8.0+solr4.6)
- VS2008+QT入门
- linux下vim命令详解
- Session的生命周期
- 新集合类的使用:BidiMap、MultiMap、LazyMap
- android studio apt-complier
- ViewPager、ViewFlipper、ViewFlow
- 2014年1月3日星期五(DEMO7_1终结)
- Spring框架学习【高级特性】
- EditPlus去除空行
- sortabl拖动排序
- 死循环测试
- block