内容

  • 是Apache组织下的commons-collections包中的工具类
<dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency>
  • Map操作相关的,最常用和null值相关

使用

  • 取值
public static String getString(final Map map, final Object key) {if (map != null) {Object answer = map.get(key);if (answer != null) {return answer.toString();}}return null;}public static String getString( Map map, Object key, String defaultValue ) {String answer = getString( map, key );if ( answer == null ) {answer = defaultValue;}return answer;}

取值,二元参数无默认字符串;

同样有针对其他类型的取值方法;

  • 赋值
putAll()public static void safeAddToMap(Map map, Object key, Object value) throws NullPointerException {if (value == null) {map.put(key, "");} else {map.put(key, value);}}

一个是putAll,数组加入map中;

一个是safeAdd,不加入null值;

  • 操作
//排序
public static Map orderedMap(Map map) {return ListOrderedMap.decorate(map);}//反转,key value互换
public static Map invertMap(Map map) {Map out = new HashMap(map.size());for (Iterator it = map.entrySet().iterator(); it.hasNext();) {Map.Entry entry = (Map.Entry) it.next();out.put(entry.getValue(), entry.getKey());}return out;}    
@Testpublic void testMapUtils() {Map<String,String> map = new HashMap<>();map.put("shit","Happens");map.put("0","1");log.info("{}",MapUtils.getString(map,"shi222t","hhhhh"));log.info("order:{}",MapUtils.orderedMap(map));log.info("invert:{}",MapUtils.invertMap(map));}[INFO ] 2018-10-30 14:07:42,144 method:com.andy.dot.TestAllDots.testMapUtils(TestAllDots.java:177)
hhhhh
[INFO ] 2018-10-30 14:07:42,276 method:com.andy.dot.TestAllDots.testMapUtils(TestAllDots.java:178)
order:{0=1, shit=Happens}
[INFO ] 2018-10-30 14:07:42,277 method:com.andy.dot.TestAllDots.testMapUtils(TestAllDots.java:179)
invert:{Happens=shit, 1=0}

参考文章

  • MapUtils常用方法
  • Class MapUtils

转载于:https://www.cnblogs.com/andy1202go/p/9876571.html

【技术累积】【点】【java】【29】MapUtils相关推荐

  1. 那些想不断提高自己技术水平的Java程序员们

    对程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水平的Jav ...

  2. 【技术应用】java实现排行榜方案

    [技术应用]java实现排行榜方案 一.前言 二.实现方案 方案一.通过数据库实现 方案二.通过集合List实现数据排序功能 方案三.通过redis的zset实现 方案四.通过java中的sorted ...

  3. 三流Java搞技术,二流Java搞框架,一流Java…

    对于 Java 程序员来说,若想实现质的飞跃,还得靠"黄金五年". "黄金五年"其实是 Java 程序界流行的说法,指一个程序员从入职的时候算起,前五年的选择和 ...

  4. java反射获取方法内部_公共技术点之 Java 反射 Reflection

    本文为 Android 开源项目源码解析 公共技术点中的 Java 反射 部分 分析者:Mr.Simple,校对者:Trinea,校对状态:未完成 1. 了解 Java 中的反射 1.1 什么是 Ja ...

  5. 公共技术点之 Java 反射 Reflection

    1. 了解 Java 中的反射 1.1 什么是 Java 的反射 Java 反射是可以让我们在运行时获取类的函数.属性.父类.接口等 Class 内部信息的机制.通过反射还可以让我们在运行期实例化对象 ...

  6. java如何创造一个整数的类_【技术干货】Java 面试宝典:Java 基础部分(1)

    原标题:[技术干货]Java 面试宝典:Java 基础部分(1) Java基础部分: 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的 ...

  7. 自学Redis技术,如何在Java应用

    自学Redis技术,如何在Java应用 ~~自学之路之艰辛,现在的世界离不开百度 但是百度要么找到大牛篇,要么就是复制粘贴篇. (小白的无奈)以此篇开始,无论是否找到工作,开启了漫漫自学之路 一个程序 ...

  8. 【技术实现】java实时同步postgresql变更数据,基于WAL日志

    [技术实现]java基于WAL日志订阅获取postgresql实时变更数据 一.前言 二.WAL日志 三.逻辑解码和逻辑复制 四.准备工作 五.实现步骤(代码示例) 五.总结 一.前言 在以往的工作中 ...

  9. 计算机程序设计工程师技术水平证书 java 考试试卷_关于程序设计工程师技术水平证书(JAVA).doc...

    程序设计工程师技术水平证书(JAVA) 考试大纲 考试性质和目的: 本考试的目的在于促使考生掌握JAVA语言与面向对象程序设计的概念.方法与基本技术.并注重提高考生运用Java语言和面向对象技术解决问 ...

  10. 【技术应用】java通过url爬虫获取公众号文章内容

    [技术应用]java通过url爬虫获取公众号文章内容 一.前言 二.解决思路 三.爬虫工具 四.代码实现 1.爬取公众号文章 2.爬取CSDN文章 五.总结 一.前言 平时在微信或者钉钉发送消息时,会 ...

最新文章

  1. python爬虫案例_推荐上百个github上Python爬虫案例
  2. mount --bind
  3. Python游戏开发,pygame模块,Python实现愤怒的小鸟【附带源码】
  4. 我从Team Leader变成了CTO,有些不适应,不过我要调整
  5. android 包裹内容,Android开发中Bundle用法 包裹数据
  6. linux 内存越界判断_虚拟内存 和 page fault 的解释
  7. 数据结构中单链表的存储c语言,单链表一 - 数据结构与算法教程 - C语言网
  8. Samba 3.0.25 颁布发表
  9. 三种方法实现调用Restful接口
  10. 二逼程序员与苦逼程序员
  11. 如何连接linux服务器
  12. 电子书籍下载第一强贴
  13. 阿里天猫小镇的实质就是为了圈地!
  14. 3dmax怎么渲染全景图,如何使用vray渲染制作360度全景图?
  15. android 输入法(包括手写界面)
  16. iOS开发---本地通知(UILocalNotification)
  17. 教师使用计算机的注意事项,李磊老师:计算机专业考研报考注意事项
  18. wps怎么将图片嵌入文字里_在WPS文字中插入图片
  19. 软件开发之硬件扫盲篇)固态硬盘需要了解的知识
  20. STM32 OLED显示屏

热门文章

  1. 如何使用Visual studio C++(VC++)编译C?图解,详!!!
  2. AngularStrap -- Popovers
  3. 【python 11】super()
  4. pandas数据可视化_5利用Pandas进行强大的可视化以进行数据预处理
  5. Linux ping的原理与实现
  6. “象征界”的奇观:刘天怜花鸟工笔作品印象
  7. 草原深处的“那达慕”
  8. 当我们年轻的时候 (转贴)
  9. 为知笔记:优秀国产知识管理软件的使用心得
  10. mysql8 优化_MySQL 8.0 优化