private static final String car = "wgc:未购车,ygc:已购车,dwc:单位用车"; public static Map<String, String> carmap =Constants.getAllToMap(car);
/**
* * Description : 这个方法用于,某些状态不是在字典指定,而且可能以后增加 * 设置keys(不会相同)和vals,就能得到一一对应的键值对.只需在service设置两个常量, * 以后修改这两个常量就可以在所有地方增加字段 * @param keys * @param vals * @return * @throws Exception * Map<String,Object> * @throws * */ public static Map<String, String> getAllToMap(String [] keys,String [] vals ){ Map<String, String> map = new TreeMap<String, String>(); for (int i = 0; i < vals.length; i++) { map.put(keys[i], vals[i]); } return map; } /** * * Description : 和上面方法效果一样,只需要像这样设置:"1:电话,2:微信,3:客户端,4:其他" * @param str * @return * Map<String,String> * @throws * */ public static Map<String, String> getAllToMap(String str){ Map<String, String> map = new TreeMap<String, String>(); String[] keyvals =str.split(","); for (int i = 0; i < keyvals.length; i++) { String[] keyval = keyvals[i].split(":"); map.put(keyval[0], keyval[1]); } return map; } /** * * Description : 和上面方法效果一样,只需要像这样设置:"1:电话,2:微信,3:客户端,4:其他" * @param str * @return * Map<String,String> * @throws * */ public static Map<String, String> getAllToMapNotOrder(String str){ Map<String, String> map = new HashMap<String, String>(); String[] keyvals =str.split(","); for (int i = 0; i < keyvals.length; i++) { String[] keyval = keyvals[i].split(":"); map.put(keyval[0], keyval[1]); } return map; } /** * * Description : 从map中获取需要keys的值,但不修改原来map的值 * @param str 例如 1,2,3 * @param originmap 从map中取得值 * @return * Map<String,String> * @throws * */ public static Map<String, String> getMapByKeys(String str,Map<String, String> originmap){ Map<String, String> map = new TreeMap<String, String>(); String[] keyvals =str.split(","); for (String key : keyvals) { map.put(key, originmap.get(key)); } return map; } public static Comparator getComparator(){ return new Comparator() { public int compare(Object o1, Object o2) { if (o1 == null || o2 == null) return 0; Collator collator = Collator.getInstance(); CollationKey ck1 = collator.getCollationKey(String.valueOf(o1).toLowerCase()); CollationKey ck2 = collator.getCollationKey(String.valueOf(o2).toLowerCase()); return ck1.compareTo(ck2); } }; //Collections.sort(map, aa()); } /** * * Description : 通过参数间隔获取map * @param objects * @return * Map<String,Object> * @throws * */ public static Map<String, Object> getMap(Object... objects) { Map<String, Object> map = new HashMap<String, Object>(); int length = objects.length; if(length>0&&length%2==0){ for(int i=0;i<length;i+=2){ map.put(objects[i].toString(), objects[i+1]); } } return map; } public static void main(String[] args) throws Exception { String [] keys ={"2","1","3"}; String [] vals ={"11","22","33"}; Map<String, String> map = getAllToMap(keys, vals); System.out.println(map.get("1"));; System.out.println(map.get(new String("1")));; System.out.println(map); String sources = "2:电话,1:微信,3:客户端,4:其他"; System.out.println(getAllToMap(sources)); }