首页 > 代码库 > java-Map
java-Map
CreateTime--2017年5月26日08:44:16
Author:Marydon
三、java-Map
需要导入包:
java.util.Map
(一)数据格式介绍
HashMap
{FHIGHPRICE_VILLLEVE=0, FSTATUS=1, FPROVLEVELLIMIT=1, FBEGINDATE=, FENDDATE=, FCLASSNAME=药品类, FITEMSIZE=, FHIGHPRICE_TOWNLEVEL=0, FCATALOGTYPE=, FVILLLEVELLIMIT=1, FID=400119, FCLIINHOSLIMIT=3, FHIGHPRICE_CITYLEVEL=0, FREMARK=, methodName=updateTDICTCHARGEITEM, FFORMS=, FITEMTYPE=0, FCLASSCODE=01, FGENERALCODE=, FRCODE=410000, FMEDICARE=2, FZJM=DSTN(YNS), FITEMCODE=W9999990019003y, FHIGHPRICE_COUNLEVEL=0, FDRUGTYPE=1, FITEMNAME=达沙替尼(依尼舒)(20mg×7粒), FTOWNLEVELLIMIT=1, FHIGHPRICE_PROVLEVEL=0, FCOUNLEVELLIMIT=1, FCOMPUTERATIO=1.0, FFEECODE=0101, FUNIT=, FORGLIMIT=0}
(二)操作Map
3.2.1 增、改、删
// 添加指定元素(添加)transfromMap.put("key", value);// 修改指定元素(修改)transfromMap.put("key", value2);// 移除掉指定元素(删除)transfromMap.remove("key");// 获取指定元素(取值)transfromMap.get("key");// 清空MaptransfromMap.clear();
3.2.2 迭代Map
Map<String,Object> map = new HashMap<String,Object>();map.put("语文", 1);map.put("数学", 2);map.put("英语", 3);map.put("历史", 4);map.put("政治", 5);map.put("生物", 6);map.put("生物", 7);map.put("化学", 8);
/** * 方法1:entrySet集合迭代 */Iterator iterator = map.entrySet().iterator();while (iterator.hasNext()) { Entry<String, Object> entry = iterator.next(); System.out.println(entry.getKey() + "=" + entry.getValue()); }
/** * 方法2:keySet集合迭代 */Iterator iterator = map.keySet().iterator();while (iterator.hasNext()) { //获取键 String key = iterator.next().toString();//或String key = (String)iterator.next(); //根据键获取值 Object value =http://www.mamicode.com/ map.get(key); System.out.println("键:"+ key + ",值:" + value);}
/** * 方法3:entrySet集合for-each循环(推荐使用) * 这种方式必须声明泛型类型: * a.bizData使用Map接收必须得声明泛型;b.for-each()里的Entry的泛型控制可有可无 * Map的泛型控制通常使用<String,Object> */Map<String, Object> bizData =http://www.mamicode.com/ dataBus.getBizData();for (Entry<String, Object> entry : bizData.entrySet()) { System.out.println(entry.getKey() + "=" + entry.getValue());}
/** * 方法4:keySet集合for-each循环 */for (String key:map.keySet()) { System.out.println(key + "=" + map.get(key));}
3.2.2.2只迭代键
//只遍历键for (String key:map.keySet()) { System.out.println(key);}
3.2.2.3只迭代值
//只遍历值for (Object val:map.values()) { System.out.println(val);}
3.2.3 其他常用操作
// 判断Map对象是否为空,返回true/falsetransfromMap.isEmpty();// 是否包含指定键,返回true/falsetransfromMap.containsKey("key")
(三)格式转换
3.3.1 Map集合转换成json
Map map = newHashMap();map.put("name","json");map.put("bool",Boolean.TRUE);map.put("int", newInteger(1));map.put("arr", new String[] {"a", "b" });map.put("func", "function(i){return this.arr[i]; }");JSONObject json =JSONObject.fromObject(map);// 转换成JSON对象
3.3.2 将Map转换成字符串
3.3.2.1 不含特殊转换格式/*** 将Map转换成字符串*///方法一String mapStr = String.valueOf(map);//方法二String mapStr = map.toString();
/** * 将Map转换成字符串 * 格式:键+"|"+值+"$" * @param map * @return */private String MapToString(Map map) { String str = ""; Iterator iterator = map.entrySet().iterator(); while (iterator.hasNext()) { Entry<String, Object> entry = (Entry<String, Object>) iterator.next(); str += entry.getKey() + "|" + entry.getValue() + "$"; } return str;}
3.3.3 Map.toString()后字符串转换回Map
/** * Map.toString()后字符串转换回Map * @param str Map字符串 * @return Map对象 */public static Map<String, String> mapStringToMap(String str) { str = str.substring(1, str.length() - 1); String[] strs = str.split(","); Map<String, String> map = new HashMap<>(); for (String string : strs) { String key = string.split("=")[0].trim(); String value = string.split("=")[1].trim(); map.put(key, value); } return map;}
java-Map
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。