Android排序问题 Collections.Sort()2014-12-07 22:57:26

( 19人已投票,[高质量] )
分享: ╬收藏
31.3K

Android中列表排序问题Sort();常会报如下错误:The method sort(List<T>, Comparator<? super T>) in the type Collections is not applicable for the arguments (List<Map<String,Object>>, Comparator<String>)


Sort()函数原型:


<String> void java.util.Collections.sort(List<String> list, Comparator<? super String> comparator)


正常情况可以这样排序:


Collections.sort(items,String.CASE_INSENSITIVE_ORDER);


如果List参数为这种样式:


List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();


需要这样来排序,否则报错:


//从低到高排序,试试吧
Collections.sort(list, new Comparator<Map<String, Object>>(){
@Override
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
if((Boolean)o1.get("isDir") && !(Boolean)o2.get("isDir"))
  return -1;
if(!(Boolean)o1.get("isDir") && (Boolean)o2.get("isDir"))
  return 1;
return (((String)o1.get("title")).toLowerCase()).compareTo(((String)o2.get("title")).toLowerCase());
}
});






头像

snowcoal
  • Android
  • 排序
  • sort()

本文标签:

Android排序sort()

收藏到我的私密空间

标题:Android排序问题 Collections.Sort()

作者:柳岸花明

你暂未登录,请登录后才可收藏至您的私密空间 确认取消
雪炭网

键盘操作 更便捷 -雪炭网雪中送炭-乐趣无限