博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 不区分KEY大小写的MAP
阅读量:6038 次
发布时间:2019-06-20

本文共 1001 字,大约阅读时间需要 3 分钟。

hot3.png

有时候我们会需要一个不区分KEY大小写的MAP,今天介绍一个apache.commons包里的类:

org.apache.commons.collections.map.CaseInsensitiveMap

例子:

 public static void main(String[] args) {  Map
result = new CaseInsensitiveMap();   result.put("aaa", "ok");  System.out.println(result.get("aaa"));  System.out.println(result.get("aAa"));  System.out.println(result.get("AAa"));  System.out.println(result.get("AAA"));}

输出:

okokokok

 

而HashMap是要区分大小写的

例子:

public static void main(String[] args) { Map
result = new HashMap
();  result.put("aaa", "ok"); System.out.println(result.get("aaa")); System.out.println(result.get("aAa")); System.out.println(result.get("AAa")); System.out.println(result.get("AAA"));}

输出:

oknullnullnull

 

若需要把HashMap转为CaseInsensitiveMap,需要putAll,直接等于是不生效的。

正确:

Map map = new HashMap();Map map1 = new CaseInsensitiveMap();map1.putAll(map );

错误:

Map map = new HashMap();Map map1 = new CaseInsensitiveMap();map1 = map;//不生效,依旧区分大小写

 

转载于:https://my.oschina.net/u/2351298/blog/1834010

你可能感兴趣的文章
浏览器的回流和重绘及其优化方式
查看>>
2.4 salt grains与pillar jinja的模板
查看>>
VDI序曲二十 桌面虚拟化和RemoteApp集成到SharePoint 2010里
查看>>
移动互联网,入口生死战
查看>>
nginx面试常问题目
查看>>
JAVA多线程深度解析
查看>>
Kafka High Level Consumer 会丢失消息
查看>>
时间轴
查看>>
java 获取系统当前时间的方法
查看>>
Ubuntu 10.04升级git 到1.7.2或更高的可行方法
查看>>
Spring Security4实战与原理分析视频课程( 扩展+自定义)
查看>>
第一周博客作业
查看>>
thinkpython2
查看>>
String、StringBuffer和StringBuilder的区别
查看>>
oracle recyclebin与flashback drop
查看>>
svmlight使用说明
查看>>
Swing 和AWT之间的关系
查看>>
Mysql设置自增长主键的初始值
查看>>
Android计时器正确应用方式解析
查看>>
获取post传输参数
查看>>