我们查询出数据库的实体类list 集合,需要根据这个实体类里面的某一个字段进行排序,但是这个字段值是中文,而且排序的规则也是不能使用中文首字母进行排序,比如某一个值排序必须是第一个,另外一个必须是 第二个 等之类的
我们就可以使用枚举的形式,规定哪些中文是排序第一个,哪个是第二个,最后遍历list 集合,根据枚举获取到当前数据的排序的级别 ,然后进行排序。
我们首先写一个枚举
public enum StationEnum {
/**
* 级别
*/
HJJD("长沙", 1),
ZQHJJD("阿拉斯加",2),
JDJD("北京", 3);
StationEnum() {
}
private StationEnum(String message,int code ) {
this.message = message;
this.code = code;
}
private String message;
private int code;
public int getCode() {
return code;
}
public String getMessage() {
return message;
}
public static int getResultEnum(String message) {
for (StationEnum type : StationEnum.values()) {
if (type.getMessage().equals(message)) {
return type.code;
}
}
return 0;
}
}
之后查询数据库
这个是从数据库查询出来的数据
List<User> arrayList = new ArrayList<User>();
排序
if(arrayList!=null && arrayList.size()>0){
// 排序
Collections.sort(arrayList , new Comparator<User>() {
@Override
public int compare(Usero1, Usero2) {
int o1code = 0;
int o2code = 1;
o1code = StationEnum.getResultEnum(o1.getNodeLevel());
o2code = StationEnum.getResultEnum(o2.getNodeLevel());
return o1code-o2code;
}
});
objectObjectHashMap.put("list",arrayList);
return ResultUtil.success(objectObjectHashMap);
}
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有