LIST<JAVABEAN>排序,其他方法也有。这只是其中之一。
注意的就三个点:
1.继承:implements Comparable<JAVABEAN>
2.实现:public int compareTo(JAVABEAN arg0) {
return this.getId().compareTo(arg0.getId());
}
this.getId,arg0.getId代表的是按哪个属性排序。
至此,排序准备工作已经完成。
3.使用:Collections.sort,Collections.reverse进行升序,降序排列。
示例:
package com.troila.ts.notice.bean;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
public class NoticeVo implements Comparable<NoticeVo>{
private static final long serialVersionUID = 1L;
private Integer id; //'主键'
private Integer noticeType; //'通知类型(1:培训 2:系统)'
private String title; //'标题'
private String content; //'内容'
private Integer noticeSenderId; //发送该通知人员id
private Integer isRead; //是否已读
private Date createTime; //'创建时间'
@Override
public int compareTo(NoticeVo arg0) {
return this.getId().compareTo(arg0.getId());
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getNoticeType() {
return noticeType;
}
public void setNoticeType(Integer noticeType) {
this.noticeType = noticeType;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Integer getNoticeSenderId() {
return noticeSenderId;
}
public void setNoticeSenderId(Integer noticeSenderId) {
this.noticeSenderId = noticeSenderId;
}
public Integer getIsRead() {
return isRead;
}
public void setIsRead(Integer isRead) {
this.isRead = isRead;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public static void main(String args[]){
NoticeVo n1 = new NoticeVo();
NoticeVo n2 = new NoticeVo();
NoticeVo n3 = new NoticeVo();
List<NoticeVo> list = new ArrayList<NoticeVo>();
n1.setId(1);
n1.setIsRead(0);
n1.setTitle("title1");
n2.setId(2);
n2.setIsRead(1);
n2.setTitle("title2");
n3.setId(3);
n3.setIsRead(2);
n3.setTitle("title3");
list.add(n2);
list.add(n3);
list.add(n1);
for(NoticeVo vo:list){
System.out.println(vo.getId()+"---------"+vo.getTitle());
}
Collections.sort(list);
for(NoticeVo vo:list){
System.out.println(vo.getId()+"---------"+vo.getTitle());
}
Collections.reverse(list);
for(NoticeVo vo:list){
System.out.println(vo.getId()+"---------"+vo.getTitle());
}
}
}