集合 List 排序

list 排序实现和大家分享:
以下是我做的一个实例:
第一步:创建对象类:Content

public class Content {

private String name;
private long time;

public Content(String name, long time){
this.name=name;
this.time=time;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getTime() {
return time;
}
public void setTime(Long time) {
this.time = time;
}

}

第二步:创建一个排序规则(或根据那个属性来排):

ListSort类 不过要继承 Comparator 和 Serializable 接口
如果不继承 Serializable 接口 在用findbugs工具会报
Comparator doesn't implement Serializable

public class ListSort implements Serializable, Comparator {

public int compare(Object o1, Object o2) {
Content c=(Content) o1;
Content c2=(Content) o2;
if(c.getTime()<c2.getTime()){
return 1;
}else if(c.getTime()==c2.getTime()){
return 0;
}else{
return -1;
}

}



}

第三步:创建一个测试类:
Test
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
List li=new ArrayList();
li.add(new Content("wang",123456l));
li.add(new Content("wang1",1234567l));
li.add(new Content("wang2",1299565l));
li.add(new Content("wang3",1234569l));

Comparator a=new ListSort();
Collections.sort(li,a);

for (int i = 0; i < li.size(); i++) {
Content c =(Content) li.get(i);
System.out.println(c.getName()+"==="+c.getTime());
}

}

}


结果为:
wang2===1299565
wang3===1234569
wang1===1234567
wang===123456
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值