Android排序 基本数据 到 复杂数据

一、先讲复杂数据的排序

对Map进行排序

用到的类 Collections 和 Comparator

步骤:

1、创建一个集成Comparator类的子类


//** * 排序方法 * @param lhs : 第一个对象 * @param rhs : 第二个对象 * @return > 0 表示第一个对象比第二个对象大 反之同理 */
@Override
public int compare(Object lhs, Object rhs) {
Camera.Size size1 = (Camera.Size)lhs;
Camera.Size size2 = (Camera.Size)rhs;
if(size1.width > size2.width)
return -1;
else
return 1;
}

用法总结
如果我们按照sort()判断两个对象的顺序来实现compareTo()和compare()方法时,就是升序的结果;而如果此事我们反着来,用rhs.val-lhs.val 那么得到的值是与正确的两个值大小相反的,而sort()不知道按照自己认为的以升序确定先后,小的在前,大的在后;那么实际情况就会变为大的在前,小的在后,这样结果就成了降序排列了

你可能感兴趣的:(Android排序 基本数据 到 复杂数据)