您的位置:首页 > 其它

List排序的使用

2013-08-28 14:39 309 查看
1: list中包含的对象(TaskVO),实现接口Comparator
 
import java.io.Serializable;
import java.util.Comparator;
import com.comtop.product.scheme.planitem.PlanItemConstants;
import com.comtop.product.scheme.planitem.util.PlanItemUtil;
 
public class TaskVO implements Serializable,Comparator {
    /** 地点名称 */
    private String placeName;
    /** 工作内容 */
    private String workContent;
    /** 电压等级 */
    private int voltageLevel;
 
    public String getPlaceName() {
        return placeName;
    }
    public void setPlaceName(String placeName) {
        this.placeName = placeName;
    }
    public int getVoltageLevel() {
        return voltageLevel;
    }
    public void setVoltageLevel(int voltageLevel) {
        this.voltageLevel = voltageLevel;
    }
    public String getWorkContent() {
        return workContent;
    }
    public void setWorkContent(String workContent) {
        this.workContent = workContent;
    }
    
    // 实现排序接口需要的方法(单个属性排序)
    public int compare(Object arg0, Object arg1) {
       TaskVO taskVO1 = (TaskVO)arg0;
       TaskVO taskVO2 = (TaskVO)arg1;
       // 如果需要升序排列
        return String.valueOf(taskVO1.getVoltageLevel()).compareTo(String.valueOf(taskVO2.getVoltageLevel()));
       // 如果需要降序排列
        return String.valueOf(taskVO2.getVoltageLevel()).compareTo(String.valueOf(taskVO1.getVoltageLevel()));
   }
 
// 如果需要实现多个属性排序则需要将上面的方法改成如下
public int compare(Object arg0, Object arg1) {
       TaskVO taskVO1 = (TaskVO)arg0;
       TaskVO taskVO2 = (TaskVO)arg1;
        int flag = String.valueOf(taskVO1.getVoltageLevel()).compareTo(String.valueOf(taskVO2.getVoltageLevel()));
       if(flag == 0){
           return taskVO1.getPlaceName().compareTo(taskVO2.getPlaceName());
       }else{
           return flag;
       }
   }
}

2:在需要排序的地方进行调用以下实现即可(假设tasks是一个list对象,里面包含若干个taskVO)
TaskVO taskVO = new TaskVO();
Collections.sort(tasks,taskVO);

后面得到的tasks就是排序过的list


阅读(716) | 评论(0) | 转发(0) |

0
上一篇:jsession 和 cookie欺骗原理

下一篇:其实很多男孩子都不知道

相关热门文章
不锈钢暗装式垃圾桶 20130827...

float和double精度及其区别...

靓机体验HP4395A Agilent4395A...

美澳领导人讨论叙利亚化武问题...

haproxy capture request head...

JDK1.6官方下载_JDK6官方下载_...

MyEclipse6.5下载及注册码...

Eclipse+MyEclipse的配置

Eclipse 插件安装、升级和卸载...

最新版SWT Designer 6.0 安装,...

flash播放控件

查看nginx某一时段的日志...

ftp服务器日志分析

mpi 目标机器积极拒绝,下面错...

ps700 安装的aix6.1以后,装上...

给主人留下些什么吧!~~

评论热议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: