根据list<Object>中的某个字段排序
compareTo必须是两个对象之间的比较(比如Long,Integer...),
以下例子是升序排序
private void businessSort(List<WxDailyBusinessInfo> wxDailyBusinessInfo) {
//排序前 for (int i = 0; i < wxDailyBusinessInfo.size(); i++) { System.out.println(new Gson().toJson(wxDailyBusinessInfo.get(i))); System.out.println("---------------"); } Collections.sort(wxDailyBusinessInfo, new Comparator<WxDailyBusinessInfo>() { @Override public int compare(WxDailyBusinessInfo o1, WxDailyBusinessInfo o2) { return o1.getDistance().compareTo(o2.getDistance()); } }); System.out.println("***************排序后************"); for (int i = 0; i < wxDailyBusinessInfo.size(); i++) { System.out.println(new Gson().toJson(wxDailyBusinessInfo.get(i))); System.out.println("---------------"); } }
compareTo()方法是用来比较字符串大小,该方法用来判断一个字符串是大于,等于还是小于另一个字符串。判断字符串大小的依据是根据他们在字典中的顺序决定的
语法
Str1.compareTo(Str2);
其返回的是一个int类型值。若str1等于str2字符串,则返回0;若str1按字典顺序小于字符串str2,则返回-1(小于0的值);若str1按字典顺序大于参数字符串str2,则返回值大于0