您的位置:首页 > 编程语言 > Java开发

java Collection 排序--单条件排序

2016-06-22 16:07 519 查看

java Collection中的排序问题

单条件排序

list排序可以直接采用Collections的sort方法:

实体类:

/**
* 消息实体
*/
public class MessageEntity {
private String key;              //key
private String time;             //生成时间
private String content;          //报文内容

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getTime() {
return time;
}

public void setTime(String time) {
this.time = time;
}

public String getContent() {
return content;
}

public void setContent(String content) {
this.content = content;
}

}


排序方法1:(按创建时间顺序排列)

//根据时间对messageList进行排序
Collections.sort(messageList,comparator);

//排序方法
Comparator<MessageEntity> comparator = new Comparator<MessageEntity>(){
public int compare(MessageEntity m1, MessageEntity m2) {
//按创建时间排序
try {
int flag = m1.getTime().compareTo(m2.getTime());
return flag;
} catch (ParseException e) {
Log.error(MemcachedService.class,"comparator error", e);
}
return -1;
}
};


排序方法2:(按创建时间倒序

//按创建时间倒序
Comparator<MessageEntity> comparator = new Comparator<MessageEntity>(){
public int compare(MessageEntity m1, MessageEntity m2) {
try {
Date date1 = sdfSave.parse(m1.getTime());
Date date2 = sdfSave.parse(m2.getTime());

if(date1.after(date2)){
return -1;
}else if(date1.equals(date2)){
return 0;
}else{
return 1;
}
} catch (ParseException e) {
Log.error(MemcachedService.class,"comparator error", e);
}
return -1;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 排序