集合sort方法的使用

Collections.sort方法可以对集合进行排序,它有两个参数arg0:要排序的集合;arg1:实现了比较接口的类。下面是具体代码:


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

import org.apache.log4j.Logger;

public class LinkSort implements Comparator<LinkSort>{
Logger logger=Logger.getLogger(LinkSort.class);
public LinkSort(){
super();
}
public LinkSort(String key,String url,int linkCount){
this.key=key;
this.url=url;
this.linkCount=linkCount;
}
private String key;
private String url;

private int linkCount;
public int getLinkCount() {
return linkCount;
}
public void setLinkCount(int linkCount) {
this.linkCount = linkCount;
}
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
/**
* 排序方法
* 根据点击次数进行排序 linkCount
* **/
@Override
public int compare(LinkSort arg0,LinkSort arg1){
if(arg0.getLinkCount()>=arg1.getLinkCount()){
return 0;
}else{
return 1;
}
}
/**
* 生成json格式
* @return String json 格式 {UserManager=/wmba/user/user_queryUserInfos.action}
**/
public String linkSortToJSON(List<LinkSort> list){
if(list.size()>0){
//排序
Collections.sort(list, new LinkSort());
StringBuffer sb=new StringBuffer();
sb.append("{");
for(LinkSort ls : list){
sb.append(ls.getKey()).append(":").append(ls.getUrl()).append(ls.getLinkCount()).append(",\n");
}
//去掉最后一个","号 并加上"}"
String temp=sb.toString().substring(0,sb.toString().length()-1)+"}";
logger.debug(temp);
return temp;
}
return "false";
}
public static void main(String[] args) {
List<LinkSort> list=new ArrayList<LinkSort>();
list.add(new LinkSort("en_US_link","/wmba/user/user_addUser2.action",3));
list.add(new LinkSort("en_US_link","/wmba/user/user_addUser1.action",6));
list.add(new LinkSort("en_US_link","/wmba/user/user_addUser3.action",1));
list.add(new LinkSort("en_US_link","/wmba/user/user_addUser4.action",2));
list.add(new LinkSort("en_US_link","/wmba/user/user_addUser5.action",5));

LinkSort linksort=new LinkSort();

System.out.println(linksort.linkSortToJSON(list));
}
}

最后输出:
[color=red]
{en_US_link:/wmba/user/user_addUser1.action6,
en_US_link:/wmba/user/user_addUser5.action5,
en_US_link:/wmba/user/user_addUser2.action3,
en_US_link:/wmba/user/user_addUser4.action2,
en_US_link:/wmba/user/user_addUser3.action1,}
[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值