Collections.sort()对对象进行排序
来源:互联网 发布:sqlserver 行转列 编辑:程序博客网 时间:2024/05/16 09:16
今天要对对象排序,平时用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();
}
}
}
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();
}
}
}
- Collections.sort()对对象进行排序
- Collections.sort()对对象进行排序
- Java 用Collections.sort()对对象集合排序之comparable接口和comparator比较器
- 排序(对对象进行排序)二
- 按规则对对象数组进行排序
- 对对象的某些属性进行排序
- Comparable接口对对象进行排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- 对对象按对象的某个属性进行排序
- 【LeetCode】two num 利用comparable接口 对对象进行排序
- STL对对象的排序
- Java列表对对象排序
- 计算器制作JAVA版(第三步,表达式求值(+-*/))
- [原创]花了2天时间,彻底搞清C#中cookie的内容,搞清以下内容将让你对所有网
- [转]ASP.net中的GridView的自定义分页 只是重新定义了分页的样式,无总记录数!
- Windows XP IIS 500内部错误 解决方案(HTTP 500内部服务器错误) - Fantongking的专栏 - CSDNBlog
- 带宽限制下的视觉实体属性传播
- Collections.sort()对对象进行排序
- eBay 的存储一瞥
- psdk的安装和配置(图文)
- DCOM 与MS DTC错误的处理
- Exeinfo PE v0.0.1.8 E fixed by ASL
- PB11-webform下DW中回车键的解决
- 六种异常处理的陋习
- Java语言中两种异常的差别
- VB常用代码总结