« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
| 公告 |
 |
Welcome to Lin's Space !
Just enjoy yourself .
Contact me:

jerry585@gmail.com |
Blog信息 |
blog名称:Lin's Space 日志总数:20 评论数量:99 留言数量:0 访问次数:240484 建立时间:2007年5月15日 |

| |
[java]Java 对象列表的排序 软件技术
Great Void 发表于 2008/10/16 0:17:57 |
java中的列表如ArrayList Vector Collection List都没有提供对列表所包含对象的排序
我们在这里就需要用到java中专门用来对List排序的java.util.Collections
以ArrayList为例:
第一步、我们初始化一个包含多个OBJ对象的ArrayList
private ArrayList myarraylist; //OBJ是自己定义的一个类,arraylist是包含OBJ对象的列表
myarraylist.add(obj1);
myarraylist.add(obj2);
myarraylist.add(obj3); //obj1,obj2,obj3是实例化的OBJ对象
第二步、我们将这个列表转化成java.util.Collections可以操作的List类型
List list=myarraylist;
第三步、设置排序条件,我们需要实现一个查询条件类
import java.util.Comparator;
public static class MyComparator implements Comparator {
public int compare(Object o1, Object o2) {
OBJ compare1=(OBJ)o1;
OBJ compare2=(OBJ)o2;
return compare1.getID().compareTo(compare2.getID());
//这里来设置排序的原则(假设OBJ包含一个ID,并可以通过getID()来获取ID) } }
第四步、执行排序
Comparator comp = new MyComparator();
java.util.Collections.sort(list,comp);
//现在list已经根据OBJ的ID对OBJ对象列表进行了排序
myarraylist=(ArrayList) list; //得到排完序的列表 |
|
|