java list<Map<String,Object>>排序
2017-06-09 16:52
573 查看
原文地址:http://blog.csdn.net/lemo_t/article/details/50266679
/**
* map 排序共用方法
* @param mapList map列表
* @param sort 排序字段
* @param order升序:asc 降序 desc
* @return
*/
public static List<Map<String, Object>> sortToMap(List<Map<String, Object>> mapList, final String sort, final String order) {
Collections.sort(mapList, new Comparator<Map<String, Object>>() {
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
if (o1.get(sort) instanceof String) {
String map1value = object2String(o1.get(sort));
String map2value = object2String(o2.get(sort));
if ("DESC".equals(order.toUpperCase())) {
return map1value.compareTo(map2value);
} else {
return map2value.compareTo(map1value);
}
} else {
Double map1value = object2Double(o1.get(sort));
Double map2value = object2Double(o2.get(sort));
if ("DESC".equals(order.toUpperCase())) {
return map1value - map2value > 0 ? 1 : 1;
} else {
return map1value - map2value > 0 ? -1 : 1;
}
}
}
});
return mapList;
}
/**
*将Object转换为Double
*/
public static Double object2Double(Object o){
if(o instanceof BigDecimal){
return ((BigDecimal) o).doubleValue();
}else if(o instanceof String){
return Double.valueOf((String)o);
}else if(o instanceof Integer){
return Double.valueOf((Integer)o);
}else if(o instanceof Double){
return (Double)o;
}else if(o instanceof Long){
return ((Long) o).doubleValue();
}else{
return 0.0;
}
}
/**
* 对象类型转换为字符串
*
* @param obj
* 参数
* @return String 字符串
*/
public static String object2String(Object obj) {
return convertNull2String(String.valueOf(obj));
}
/**
* 将null或null字符串转化为空字符串,并trim
*
* @param s
* @return
*/
public static String convertNull2String(String str) {
String res = null;
if (str == null || "null".equals(StringUtils.trim(str))) {
res = "";
} else {
res = StringUtils.trim(str);
}
return res;
}
/**
* map 排序共用方法
* @param mapList map列表
* @param sort 排序字段
* @param order升序:asc 降序 desc
* @return
*/
public static List<Map<String, Object>> sortToMap(List<Map<String, Object>> mapList, final String sort, final String order) {
Collections.sort(mapList, new Comparator<Map<String, Object>>() {
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
if (o1.get(sort) instanceof String) {
String map1value = object2String(o1.get(sort));
String map2value = object2String(o2.get(sort));
if ("DESC".equals(order.toUpperCase())) {
return map1value.compareTo(map2value);
} else {
return map2value.compareTo(map1value);
}
} else {
Double map1value = object2Double(o1.get(sort));
Double map2value = object2Double(o2.get(sort));
if ("DESC".equals(order.toUpperCase())) {
return map1value - map2value > 0 ? 1 : 1;
} else {
return map1value - map2value > 0 ? -1 : 1;
}
}
}
});
return mapList;
}
/**
*将Object转换为Double
*/
public static Double object2Double(Object o){
if(o instanceof BigDecimal){
return ((BigDecimal) o).doubleValue();
}else if(o instanceof String){
return Double.valueOf((String)o);
}else if(o instanceof Integer){
return Double.valueOf((Integer)o);
}else if(o instanceof Double){
return (Double)o;
}else if(o instanceof Long){
return ((Long) o).doubleValue();
}else{
return 0.0;
}
}
/**
* 对象类型转换为字符串
*
* @param obj
* 参数
* @return String 字符串
*/
public static String object2String(Object obj) {
return convertNull2String(String.valueOf(obj));
}
/**
* 将null或null字符串转化为空字符串,并trim
*
* @param s
* @return
*/
public static String convertNull2String(String str) {
String res = null;
if (str == null || "null".equals(StringUtils.trim(str))) {
res = "";
} else {
res = StringUtils.trim(str);
}
return res;
}
相关文章推荐
- JAVA中对List<Map<String,Object>>中的中文汉字进行排序
- java中对List<Map<String,Object>>中的中文汉字排序
- java list<Map<String,Object>>排序
- java中list<Object[]>、list<Student>、list<Map<String,String>>排序
- JAVA对LIST<Map<String,Object>>的排序
- Java中list<Object[]>、list<Student>、list<Map<String,String>>排序
- JAVA中对List<Map<String,Object>>中的中文汉字进行排序
- java中对List<Map<String,Object>>中的中文汉字排序
- JAVA中对List<map<String,Object>>根据map某个key值进行排序
- Java对List<Map<String,Object>>中的参数中文排序 包含特殊符号
- List<Map<String, Object>>对其中的map按规则排序
- 将Map<String, List<Map<String,Object>>>进行排序
- List<Map<String, Object>> 中文字段排序
- List<Map<String,Object>>排序
- List<Map<String,Object>> list 在java代码和jsp中的遍历
- java统计数量List<Map<String,Object>
- List<Map<String, Object>> 中文字段排序
- List<Map<String,Object>>使用Java代码遍历以获取String,Object的值
- 自定义规则,对List<Map<String,Object>> List<Object>进行排序
- List<Map<String,Object>>使用Java代码遍历以获取String,Object的值