您的位置:首页 > 其它

Collections.sort()对对象进行排序

2008-03-02 01:35 357 查看
今天要对对象排序,平时用Map的时候很多本来要用treeMap来排序的,但是看到Collections.sort()也可以对对象排序所以就做个小测试记录下 ,以下是源代码 :


package cn.gumeng.spring.test;




import java.util.ArrayList;


import java.util.Collections;


import java.util.Comparator;


import java.util.Random;




/** *//**


* 对象排序测试类


* @author Administrator


* @since 2008-03-01


*/




public class ObjectSort ...{




//需要排序的对象列表


ArrayList sortList = new ArrayList();




public static void main(String[] args)




...{


ObjectSort objSort = new ObjectSort();




//将对象初始化到列表中


objSort.initArrayList();




}




/** *//**


* 初始化对象到列表中,


* Collections.sort()可以对它的所有子类进行排序


*/


public void initArrayList()




...{


Random random = new Random();




for(int i = 0;i < 6;i++)




...{


Obj obj = new Obj();


obj.setName("大王"+i);


obj.setSex("男");


int value = random.nextInt(100-2*i-1);


obj.setDayTime(String.valueOf(value)+"00000");


sortList.add(obj);


System.out.println(obj.getDayTime());


}


sortArrayList();


}




/** *//**


* 调用Collections.sort()方法对对象进行排序


* 这里是是依据对象里的一个属性进行排序,这里设置升序排列


*/


public void sortArrayList()




...{


//匿名类来实现Comparator接口的compare方法,以此来排序




Collections.sort(sortList,new java.util.Comparator()...{




public int compare(Object object1, Object object2)...{


Obj obj1 = (Obj)object1;


Obj obj2 = (Obj)object2;


return obj1.getDayTime().compareTo(obj2.getDayTime());


}


});




//输出排序后的列表


for(int i =0 ;i < sortList.size();i++)




...{


System.out.println(((Obj)sortList.get(i)).toString());


}


}






/** *//**


* 内部类用来作为排序对象


* @author Administrator


* @since 2008-03-01


*/




class Obj...{




private String name;


private String sex;


private String dayTime;




public String getDayTime() ...{


return dayTime;


}




public void setDayTime(String dayTime) ...{


this.dayTime = dayTime;


}




public String getName() ...{


return name;


}




public void setName(String name) ...{


this.name = name;


}




public String getSex() ...{


return sex;


}




public void setSex(String sex) ...{


this.sex = sex;


}




public String toString() ...{


StringBuffer buf = new StringBuffer();


buf.append("[");


buf.append(this.getDayTime()+"_"+this.getName()+"_"+this.getSex());


buf.append("]");


return buf.toString();


}


}


}



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