天天看點

100個Java工具類之33:Map工具類Apache之MapUtils

作者:一名小小程式員

本文主要講述:字元串工具類Apache之

org.apache.commons.collections.MapUtils

見名知義,MapUtil是操作Map的工具類,但大多數方法應用場景十分有限,CollectionUtils提供的方法完全夠用,是以這裡隻做介紹,不推薦使用

避免代碼重複,影響閱讀體驗,是以将列印方法省略。

100個Java工具類之33:Map工具類Apache之MapUtils

一、擷取map的值

Map<String, Object> map = new HashMap<>();
map.put("name", "zhangSan");
map.put("age", 100);
Map<String, Object> otherMap = new HashMap<>();
otherMap.put("sex", "男");
otherMap.put("money", 999.99);
map.put("other", otherMap);
Map<String, String> newMap = MapUtils.getMap(map, "other");
輸出:{money=999.99, sex=男}
String name = MapUtils.getString(map, "name");
輸出:zhangSan
int age = MapUtils.getInteger(map, "age");
輸出:100           

二、判空

boolean flag = MapUtils.isEmpty(new HashMap<>());
輸出:true
boolean flag = MapUtils.isNotEmpty(new HashMap<>());
輸出:false           

三、Map中放入二維數組

Object[][] str = {{"userName", "admin"},{"password", 123456}};
Map<String, Object> map = new HashMap<>();
MapUtils.putAll(map, str);
輸出:{password=123456, userName=admin}           
100個Java工具類之33:Map工具類Apache之MapUtils

四、将map長度固定,無法新增key

Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
Map<String, String> newMap = MapUtils.fixedSizeMap(map);
newMap.put("key2", "value2");
輸出:java.lang.IllegalArgumentException: Cannot put new key/value pair - Map is fixed size           

五、将map的key和value值對換位置

Map<String, String> map = new HashMap<>();
map.put("key", "value");
Map<String, String> newMap = MapUtils.invertMap(map);
輸出:{value=key}           
100個Java工具類之33:Map工具類Apache之MapUtils

六、Map轉Properties

Map<String, String> map = new HashMap<>();
map.put("port", "80");
Properties ps = MapUtils.toProperties(map);
輸出:{port=80}           

今天的分享就到這裡,感謝大家的閱讀,喜歡的給個贊吧~

100個Java工具類之33:Map工具類Apache之MapUtils