List排序怎么用Collections.sort和Comparator

小编给大家分享一下List排序怎么用Collections.sort和Comparator,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联是专业的木垒哈萨克网站建设公司,木垒哈萨克接单;提供成都网站制作、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行木垒哈萨克网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

/**
 * example of list sort
 * @param schedules
 * @param schoolId
 * @return boolean
 */
public boolean checkCourseTimes(List schedules, Long schoolId){
 boolean flag=false;
 Collections.sort(schedules, new Comparator() {
  public int compare(Object a, Object b) {
   Schedule cs1 = (Schedule) a;
   Schedule cs2 = (Schedule) b;
   Date cs1date=cs1.getStartTime();
   Date cs2date=cs2.getStartTime();
   int temp=cs1date.compareTo(cs2date);
   return temp;
  }
 });
 return flag;
}

另一个

/**
 * 递归对tree进行sort
 *
 * @param channelCsTypes
 */
private void sort(List channelCsTypes, Comparator compara) {
 if (channelCsTypes == null || channelCsTypes.size() < 1)
  return;
 for (int i = 0; i < channelCsTypes.size(); i++) {
  List subs = ((ChannelCstype) channelCsTypes.get(i)).getSubTypes();
  sort(subs, compara);
 }
 Collections.sort(channelCsTypes, compara);
}

public List loadAllCstypesByChannel(String channel) {
 List result = new ArrayList();

//Todo orgernize the list

// sort the types
 sort(result, new Comparator() {
  public int compare(Object a, Object b) {
   ChannelCstype cs1 = (ChannelCstype) a;
   ChannelCstype cs2 = (ChannelCstype) b;
   int s1 = cs1.getSort() != null ? cs1.getSort().intValue() : 0;
   int s2 = cs2.getSort() != null ? cs2.getSort().intValue() : 0;
   return s1 - s2;
  }
 });
 return result;

}

看完了这篇文章,相信你对“List排序怎么用Collections.sort和Comparator”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


当前文章:List排序怎么用Collections.sort和Comparator
本文链接:http://scyanting.com/article/ppjedo.html