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

一、先讲复杂数据的排序

对Map进行排序

用到的类 Collections 和 Comparator

步骤:

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

<code>
//** * 排序方法 * @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;
}
</code>

用法总结
如果我们按照sort()判断两个对象的顺序来实现compareTo()和compare()方法时,就是升序的结果;而如果此事我们反着来,用rhs.val-lhs.val 那么得到的值是与正确的两个值大小相反的,而sort()不知道按照自己认为的以升序确定先后,小的在前,大的在后;那么实际情况就会变为大的在前,小的在后,这样结果就成了降序排列了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、基本数据类型 注释 单行注释:// 区域注释:/* */ 文档注释:/** */ 数值 对于byte类型而言...
    龙猫小爷阅读 9,712评论 0 16
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,349评论 0 33
  • 【转载】原文地址:std::string详解作者:kieven2008 之所以抛弃char*的字符串而选用C++标...
    VAYY阅读 3,846评论 0 2
  • List list(表)继承Collection(集合)接口,主要有Arraylist,LinkedList和Ve...
    fredal阅读 5,766评论 2 17
  • 每当我们回想起儿时在教室里的朗朗书声,回想起在操场上的欢乐喜悦,回想起在放学路上的邀约同行。我们就不由自主地在心里...
    徐大少黄石阅读 3,685评论 4 7