java工具类(比如一个key对应value)
2017-07-11 10:04
495 查看
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));
}
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));
}
相关文章推荐
- JSP中用EL表达式取Map中某一个key对应的value
- java 中如何遍历hashMap的key所对应的value?
- java加密工具类,可设置对应的加解密key
- java 中实现一个key保存多个value
- LinkedHashMap实现分组排序(保证有序性),并实现map的一个key值对应多个value
- 键盘录入一个文件夹路径,统计该文件夹(包含子文件夹)中每种类型的文件及个数,注意:用文件类型(后缀名,不包含.(点),如:"java","txt")作为key, 用个数作为value,放入到map集
- java Map 一个key其实可以保存多个value
- 通过java.util.Properties类来读取.properties文件中key对应的value
- Python根据数值大小随机返回一个key,并保证返回这个key的概率和它所对应的value成正比
- java获取redis中各种数据类型key对应的value代码简单封装
- MultiValueMap的用法(一个key对应多个value)
- java JsonObject的用法以及map总同一个key,但是不同的value,如何存储的问题
- Spring获取properties中同一个key对应的多条value的方法
- java获取配置文件及根据key获取配置文件中的value的工具类
- 一个Key对应多个Value
- hibernate通过sql查询返回一个key value对应的map对象型集合
- java获取redis中各种数据类型key对应的value代码简单封装
- 在Java中自定义的一个key对多个Value的map
- 找出一个数组中重复次数最多的字符暨找出Map中的最大Value及其对应的Key
- rust map的使用:获取某个key对应的value,如果不存在就插入一个