java Map常用方法封装
CreationTime--2018年7月16日15点59分
Author:Marydon
1.准备工作
import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;import java.util.SortedMap;import java.util.TreeMap;import org.apache.log4j.Logger;/** * Map数据处理工具类 * @explain * @author Marydon * @creationTime 2018年7月9日上午9:17:37 * @version 1.0 * @since * @email marydon20170307@163.com */public class MapUtils { private static Logger log = Logger.getLogger(MapUtils.class);}
2.无序Map转换成有序Map
/** * 将无序Map转换成有序Map * @explain 将参数按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序, * 以此类推通过SortedMap可以实现 * @param paramsMap * @return Map 按ASCII码升序排列 */public static MaptoSortedMap(Map paramsMap) { // 用于存储接收到的key:value,并按key以ASCII码进行升序排列组合 SortedMap data = new TreeMap (); // 获取Map对象中的键值对对象 Set > entrySet = paramsMap.entrySet(); Entry entry = null; String key = ""; Object value = null; // 遍历paramsMap数据,添加到SortedMap对象 for (Iterator > iterator = entrySet.iterator(); iterator.hasNext();) { entry = iterator.next(); key = entry.getKey(); value = entry.getValue(); data.put(key, value); } log.info("Map-->SortedMap:" + data); return data;}
3.将map的value转化成String类型
/** * Map-->Map * @explain 前提:value必须为String类型 * @param paramsMap * @return * @throws Exception */public static Map toStringMap(Map paramsMap) throws Exception{ Map data = new HashMap (); // 获取Map对象中的键值对对象 Set > entrySet = paramsMap.entrySet(); Entry entry = null; String key = ""; String value = null; for (Iterator > iterator = entrySet.iterator(); iterator.hasNext();) { entry = iterator.next(); key = entry.getKey(); if (key instanceof String) { value = (String) entry.getValue(); data.put(key, value); } else { log.error("Map中含有非String类型的值,对应的key=" + key); throw new Exception("Map中含有非String类型的值,对应的key=" + key); } } log.info("Map -->Map :" + data); return data;}
4.将map的value转化成Object类型
/** * Map-->Map * @explain 将value转换成Object类型 * @param paramsMap * @return */public static Map toObjectMap(Map paramsMap){ Map data = new HashMap (); // 获取Map对象中的键值对对象 Set > entrySet = paramsMap.entrySet(); Entry entry = null; String key = ""; Object value = null; for (Iterator > iterator = entrySet.iterator(); iterator.hasNext();) { entry = iterator.next(); key = entry.getKey(); value = entry.getValue(); data.put(key, value); } log.info("Map -->Map :" + data); return data;}
5.将map的key小写转换成大写
/** * key 小写-->大写 * @explain 将key改为大写 * @param paramsMap * @return */public static MaptoUpperMap(Map paramsMap){ Map data = new HashMap (); // 获取Map对象中的键值对对象 Set > entrySet = paramsMap.entrySet(); Entry entry = null; String key = ""; Object value = null; for (Iterator > iterator = entrySet.iterator(); iterator.hasNext();) { entry = iterator.next(); key = entry.getKey().toUpperCase(); value = entry.getValue(); data.put(key, value); } log.info("Map 小写-->大写:" + data); return data;}
相关推荐: