public static void main(String[] args) {
SysUser sysUser = new SysUser();
sysUser.setDelFlag("0");
sysUser.setUserId(1323L);
sysUser.setRemark("nihao");
sysUser.setRoles(Lists.newArrayList(new SysRole()));
BeanMap beanMap = BeanMap.create(sysUser);
Map map = sortMapByValue(beanMap);
System.out.println(map);
}
public static Map<String, String> sortMapByValue(Map<String, String> oriMap) {
if (oriMap == null || oriMap.isEmpty()) {
return null;
}
Map<String, String> sortedMap = new LinkedHashMap<String, String>();
List<Map.Entry<String, String>> entryList = new ArrayList<Map.Entry<String, String>>(
oriMap.entrySet());
Collections.sort(entryList, new MapValueComparator());
Iterator<Map.Entry<String, String>> iter = entryList.iterator();
Map.Entry<String, String> tmpEntry = null;
while (iter.hasNext()) {
tmpEntry = iter.next();
sortedMap.put(tmpEntry.getKey(), tmpEntry.getValue());
}
return sortedMap;
}
public static class MapValueComparator implements Comparator<Map.Entry<String, String>> {
@Override
public int compare(Map.Entry<String, String> me1, Map.Entry<String, String> me2) {
return String.valueOf(me1.getValue()).compareTo(String.valueOf(me2.getValue()));
}
}