两个不同类型的list根据里面的时间大小来进行排序,求大神呀

小鬼头love盘 发布于 2016/10/24 09:37
阅读 920
收藏 0

比如: List<Study> stuList             List<Article> articleList         这两个list想拼成一个list根据里面的时间进行排序 


加载中
1
温安适
温安适
按如下代码操作即可:下面是示意
TreeMap<Date,Object>map=new TreeMap();
for(Study study:stuList){
  map.put(study.getXXXDate(),study);
}
for(Article article:articeList){
  map.put(article.getXXXDate(),article);
}
List<Object>result=map.getValue();



温安适
温安适
回复 @吴唯寒萱 : 太客气啦
吴唯寒萱
吴唯寒萱
感谢你,学习了 让我知道了红黑树
温安适
温安适
回复 @等待星期五 : 客气啦
小鬼头love盘
小鬼头love盘
谢谢,这种方式可以的,大神呀
0
太黑_thj
太黑_thj
复写compareto方法
小鬼头love盘
小鬼头love盘
这个好像是一个类集合的排序吧,我这两个list都在数据库按时间排序了的,就是再根据两个集合里的时间在排序再拼到一个新的集合里
0
小鬼头love盘
小鬼头love盘

引用来自“混元归一”的评论

按如下代码操作即可:下面是示意
TreeMap<Date,Object>map=new TreeMap();
for(Study study:stuList){
  map.put(study.getXXXDate(),study);
}
for(Article article:articeList){
  map.put(article.getXXXDate(),article);
}
List<Object>result=map.getValue();



0
ff100
ff100

自己写逻辑吧。新建一个list ,
然后从 stuList 和 articleList   各取一个值,比较时间,把最大的放进list中,然后再把空缺的那个值给补上从 stuList 和 articleList上来。 

0
l
longbing_85
java吧,先合并成一个对象,放到list中,再对list中的元素进行排序。一般直接用java比较器,就可以,合并后的对象实现comparable接口,然后覆写compareTo方法,最后用collection.sort对新的list排序,执行后的list,就是排序好的
0
kakai
kakai
用TreeSet也是可以的,TreeSet内部实现是二叉排序树
0
孟浩奇
孟浩奇
没有碰到过这种需求 . 不过楼上的写法也算涨了见识。
返回顶部
顶部