如何对ArrayList中的对象排序?

leonyuann 2005-10-13 05:15:31
自定义一个类myclass,其中有一个date类型的属性域mytime,将多个myclass对象放入ArrayList后,想要根据其中各个对象的mytime域的先后,对Arraylist进行排序,可否实现?请高手指教!
...全文
778 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Roy_Sashulin 2005-10-14
  • 打赏
  • 举报
回复
ArrayList list=new ArrayList();
list.toArray().sort();
yanloveyan2004 2005-10-14
  • 打赏
  • 举报
回复
ArrayList list=new ArrayList();
Arrays.sort(list.toArray());
treeroot 2005-10-14
  • 打赏
  • 举报
回复
有时候用TreeSet可以提高效率,不过会把相同的数据过滤掉了!
jack1219 2005-10-14
  • 打赏
  • 举报
回复
Collections 已经写好~
不用我们再写了~
AAC3DO 2005-10-14
  • 打赏
  • 举报
回复
这个应该是非常基础的数据结构问题,这个算法应该也是很基础的。
jack1219 2005-10-14
  • 打赏
  • 举报
回复
当然编译不过拉,~
要楼主把自己的一些代码贴进去~
sunlm78 2005-10-13
  • 打赏
  • 举报
回复
mark
believefym 2005-10-13
  • 打赏
  • 举报
回复
楼上的怎么不编译一下,或者放到ide里,一看就知道有没有错了
jack1219 2005-10-13
  • 打赏
  • 举报
回复
class MyComparator extends Comparator
改为class MyComparator implements Comparator

还有什么错误吗~请高手指点
tlowl 2005-10-13
  • 打赏
  • 举报
回复
不知道不用ArrayList而用TreeSet可不可以。TreeSet是可排序Set,但是前提是放入其中的对象是可以排序的
interhanchi 2005-10-13
  • 打赏
  • 举报
回复
^_^!
believefym 2005-10-13
  • 打赏
  • 举报
回复
两个都错,Comparator是个interface,怎么用extends呢
treeroot 2005-10-13
  • 打赏
  • 举报
回复
上面写对了,后来反而 错了
jack1219 2005-10-13
  • 打赏
  • 举报
回复
不好意思,刚才有地方写错了~
再写一遍
import java.util.*;
class MyComparator extends Comparator{
public int compare(Object object1,Object2){
Data data1=(Data)object1;
Data data2=(Data)object2;
//对两个的Data的对象data1,data2进行排序啊~
}
}
ArrayList arraylist=new ArrayList();
//对arraylist进行构造~,添加元素
list=Array.asList(arraylist);
Collections.sort(list,new MyComparator());

这样应该行了,运行完应该完成对arraylist的排序
请高手指教
treeroot 2005-10-13
  • 打赏
  • 举报
回复
Collections.sort(list,new Comparator(){
public int compare(Object o1,Object o2){
//what do you want?
}
}
);
jack1219 2005-10-13
  • 打赏
  • 举报
回复
import java.util.*;
class MyComparator extends Comparator{
public void compare(Object object1,Object2){
Data data1=(Data)object1;
Data data2=(Data)object2;
//data排序自己弄
}
}
ArrayList list=new ArrayList();
Collections.sort(list,new MyComparator());

就这样了
myth822 2005-10-13
  • 打赏
  • 举报
回复
java.util.Comparator codeCompare = new org.apache.commons.beanutils.BeanComparator("mytime");
Comparator reverseComparator = new org.apache.commons.collections.comparators.ComparatorChain(codeCompare, true);
Collections.sort(list, reverseComparator);

或者自己写一个comparator继承Comparator

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧