博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Collections排序sort排序list,单个及多条件排序
阅读量:2166 次
发布时间:2019-05-01

本文共 2374 字,大约阅读时间需要 7 分钟。

 单条件排序

@SuppressWarnings("unchecked")    public static void sort(List
list, final String key, final String orderby, final boolean isnumber) { Collections.sort(list, new Comparator() { @Override public int compare(Object a, Object b) { int ret = 0; try { if (OrderByEnum.DESC.name().equalsIgnoreCase(orderby)) { // 倒序 if (isnumber) { ret = Double.valueOf(((JSONObject) b).getString(key)) .compareTo(Double.valueOf(((JSONObject) a).getString(key))); } else{ ret = ((JSONObject)b).getString(key) .compareTo(((JSONObject)a).getString(key)); } }else { // 正序 if (isnumber) { ret = Double.valueOf(((JSONObject) a).getString(key)) .compareTo(Double.valueOf(((JSONObject) b).getString(key))); }else { ret = ((JSONObject) a).getString(key) .compareTo(((JSONObject) b).getString(key)); } } } catch (Exception e) { log.error("Sort error: ", e); e.printStackTrace(); } return ret; } }); }

多条件排序

Collections.sort(staffList, new Comparator
() { public int compare(StaffElement arg0, StaffElement arg1) { // 置业管家按成交套数降序排序 if (arg1.getMonthCjNumber() > arg0.getMonthCjNumber()) { return 1; } else if (arg0.getMonthCjNumber() > arg1.getMonthCjNumber()) { return -1; } else if (arg0.getMonthCjNumber() == arg1.getMonthCjNumber()) { // 如果成交套数相等的话就按照响应速度升序 if (arg0.getAnswerRate() > arg1.getAnswerRate()) { //如果响应速度等于0就拍最后面 if(arg1.getAnswerRate()==0){ return -1; } return 1; } else if (arg1.getAnswerRate() > arg0.getAnswerRate()) { //如果响应速度等于0就拍最后面 if(arg0.getAnswerRate()==0){ return 1; } return -1; } } return 0; } });

 

转载地址:http://kfizb.baihongyu.com/

你可能感兴趣的文章
Intellij IDEA使用(十四)—— 在IDEA中创建包(package)的问题
查看>>
Redis学习笔记(四)—— redis的常用命令和五大数据类型的简单使用
查看>>
Win10+VS2015编译libcurl
查看>>
Windows下使用jsoncpp
查看>>
Ubuntu下测试使用Nginx+uWsgi+Django
查看>>
Windows下编译x264
查看>>
visual studio调试内存泄漏工具
查看>>
开源Faac实现PCM编码AAC
查看>>
Windows下wave API 音频采集
查看>>
借船过河:一个据说能看穿你的人性和欲望的心理测试
查看>>
AndroidStudio 导入三方库使用
查看>>
Ubuntu解决gcc编译报错/usr/bin/ld: cannot find -lstdc++
查看>>
解决Ubuntu14.04 - 16.10版本 cheese摄像头灯亮却黑屏问题
查看>>
解决Ubuntu 64bit下使用交叉编译链提示error while loading shared libraries: libz.so.1
查看>>
Android Studio color和font设置
查看>>
Python 格式化打印json数据(展开状态)
查看>>
Centos7 安装curl(openssl)和libxml2
查看>>
Centos7 离线安装RabbitMQ,并配置集群
查看>>
Centos7 or Other Linux RPM包查询下载
查看>>
运行springboot项目出现:Type javax.xml.bind.JAXBContext not present
查看>>