为什么o1-o2就是升序,o2-o1就是降序呢?

因为在comparator里面,-1代表小于,0代表等于,1代表大于
你这样写的话,应该只是按照长度排序吧
在进行比较的时候需要返回-1或者0,如果不是就需要交换,
你写的o1代表前一个元素,o2代表后一个元素
也就代表前一个元素必须小于后一个元素,在这里也就是前一个比后一个短
如果你要从大到小,就改成o2-o1,也就是o2-o1需要返回-1,那么前面就比后面大了

o1值的是集合中的第一个对象

o2是第二个对象

当遍历到第一个对象o1的时候 去减o2 如果是负数或者0 就不需要换位置,如果是整数就换位置

所以就是升序

反之 o2-o1的时候 如果是负数或者0不需要换位置,所以一定是降序。

这个排序是系统写好的,你只需要实现comparator,给他一个比较的函数,返回-1,0,1就可以了,具体怎么实现这个函数是由你定的,系统只考虑返回结果

Comparator用法中o1-o2的问题相关推荐

  1. Comparator类中的compare(T o1,T o2)和compareTo()的使用与疑惑解答

    这几天做项目刚好遇到需要排序的需求,大概就是你查询一个list,然后list中保存的是map数据,你需要根据map中的若干个数据排序,比如说 List<Map<String, Object ...

  2. gcc 优化选项 -O1 -O2 -O3 -Os 优先级,-fomit-frame-pointer(不积跬步无以至千里)

    -fomit-frame-pointer 在优化时候被启用,带来了效率的提升.看到一篇比较详细记录编译选项的文章,转发一下,同时给自己作一下备忘. 少优化->多优化: O0 -->> ...

  3. c++ -O1,-O2,-O3资料整理

    原文:http://blog.csdn.net/xinianbuxiu/article/details/51844994 1.从.c文件到可执行文件,其间经历了几步? 高级语言是偏向人,按照人的思维方 ...

  4. gcc 优化选项 -O1 -O2 -O3 -Os 优先级

    Gcc 编译优化简介 gcc 提供了为了满足用户不同程度的的优化需要,提供了近百种优化选项,用来对{编译时间,目标文件长度,执行效率}这个三维模型进行不同的取舍和平衡.优化的方法不一而足,总体上将有以 ...

  5. C++手动开启O2优化(以及-O -O1 -O2 -O3优化的知识点)(竞赛可用)

    O1优化会消耗少多的编译时间,它主要对代码的分支,常量以及表达式等进行优化. O2会尝试更多的寄存器级的优化以及指令级的优化,它会在编译期间占用更多的内存和编译时间. O3在O2的基础上进行更多的优化 ...

  6. 【gcc】gcc优化等级 -O1 -O2 -O3 -Os -Ofast -Og

    目录 优化等级 -O1 -O2 -O3 -Os -Ofast -Og cmake 生成 debug和 release 版|Cmake设置优化等级 优化等级 -O1 -O2 -O3 -Os -Ofast ...

  7. #gcc笔记01#gcc编译选项 -O0 -O1 -O2 -O3

    -O0 -O1 -O2 -O3 编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最(此处为大写字母O) 优化选项(来源:http://blog.csdn.net/Sodi ...

  8. Compound Words UVA - 10391(c++用法中substr函数用法+map实现)

    题意: 给出字典中一堆单词,单词的输入方式是以字典序输入的.问:在这一堆单词中,有那些单词是通过其它两个单词组合而来的.按字典序升序输出这些单词. 题目: You are to find all th ...

  9. 烟气分析仪中检测O2、CO、SO2、NO2和NO的传感器

    烟气的危害是什么? 烟气是气体和烟尘的混合物,也是污染居民区大气的主要原因,被人体吸入,烟尘中的飘尘会损害身体健康. 烟气对人体健康有害,还会对环境造成污染. 烟气的组成成分比较复杂,氮气,二氧化碳, ...

最新文章

  1. Struts2中文件上传下载实例
  2. 435. 无重叠区间(贪心经典题+思路+详解)
  3. CPU,内核,寄存器,缓存,RAM,ROM的知识
  4. #define中 #与##的神奇用法
  5. 前后端数据交互之前端传值到后台
  6. 使用express框架接收和发送ajax信息
  7. 软件测试工程师要掌握的Linux系统命令-很全,但不是最全!
  8. c++ floor 赋值_C++之floor函数
  9. 网站内部的基本SEO优化
  10. java实例化类方法_Java 实例化类的的几种方法
  11. Fluent 安装过程
  12. 搭建C语言开发环境,编写hello,world
  13. el-table中的表格的相同项合并(单元格合并),包含多层合并
  14. VSCode 使用 minify 手动压缩JS, CSS, HTML
  15. python:批量分割图片(把一张图片横向平均分割成7张)
  16. R语言-混合型数据聚类
  17. 自适应滤波:递归最小二乘
  18. 51单片机 引脚功能定义,内部框图
  19. 黑客内核:如何实现属于你的实时内核?
  20. vue实现ToDoList待办事项/清单

热门文章

  1. 点星PBX(DotAsterisk)和讯时MX100G数字中继网关外呼去掉本地被叫号码区号的方法
  2. 企业级购物车实现思路
  3. Hyper-V安装Server 2019虚拟机
  4. CMDN Club #23 开放平台和O2O移动产品开发
  5. 基于腾讯地图定位组件实现周边公用厕所远近排序分布图
  6. 《Fast Online Object Tracking and Segmentation: A Unifying Approach》
  7. iOS之深入解析App的架构设计
  8. Python:打印九九乘法口诀表
  9. 使用EggJS开发接口(三)登录验证之egg-jwt 及 crypto加密
  10. 离线部署NFS文件系统