此文也是总结,参考了各位博主之后的理解:

Comparable接口和Compatator接口都可以实现排序,那就是:
重写 compareTo(Object obj) 方法的规则(两个对象通过该方法的返回值来比较大小):

如果当前对象this大于形参对象obj,则返回正整数;
如果当前对象this小于形参对象obj,则返回负整数;
如果当前对象this等于参数对象obj,则返回零。

int compareTo(T o)
比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。

升序(默认,即官方定义,毕竟代码实现就是基于这个写的):

< -1
= 0 //或者 1效果是一样的;-1相同元素会发生位置调整
1

降序:

< 1
= 0 //或者 1效果是一样的;-1相同元素会发生顺序调整
-1

倒序:

//直接
return -1;

不改变顺序:

//直接
return 0或者1;

很多人总结了权重的问题:
1是前者权重大,-1是后者。JAVA则按照权重由小到大排序。
这样说法也好理解:
如果当前值<传递过来的值,返回-1,则后者权重大,升序排列
如果想要降序,则需要当前值<传递过来的值返回1,则前者权重大
这样写代码的时候,你只要考虑权重就能得到满足需求

但还有更加精辟的解释:如果返回负数,第一个参数放前面;
按照官方默认来看:
当前值<传递过来的值,返回-1,则返回小的那个数放在前边,这样就是升序排列
同样当当前值>传递过来的值是返回-1的话,大的那个数就在前边,这样就是降序排列了
这样我们不管降序升序只要保证返回是-1的那个条件符合你的需求就行了。

compareTo返回值为-1 、 1 、 0代表的意义总结相关推荐

  1. java compareto 返回值_Java comparable接口及compareTo返回值所决定的升序降序问题

    我们在学习java基础的时候知道,基本数据类型数组可以直接调动Arrays类的静态sort方法,然后输出. 例如: int iArr[] = {1,2,4,6};  Arrays.sort(iArr) ...

  2. java compareto 返回值_Java File compareTo()方法

    Java File compareTo()方法 java.io.File.compareTo(File pathname) 方法比较两个抽象路径名的字典顺序.用这种方法定义的排序是依赖于操作系统. 1 ...

  3. java return返回值_java中关于return返回值的用法详解

    我们输入一个条件时,系统就会对这个条件进行判断,然后给出一个返回时的结论,我们把这个结果看做是返回值.在java里可以使用return语句来进行返回,从字面意思就能很好的理解它的用法了.下面我们就re ...

  4. python sort函数返回值_lambda函数与箭头函数在集合内置函数应用中的对照学习

    Python语言中有一个定义轻量级规则的lambda函数,其语法格式为: Lambda 参数列表:返回值表达式 简单的例子如:定义func=lambda x,y:x+y,则调用func(10,20)的 ...

  5. GetLastError 函数返回值大全

    2019独角兽企业重金招聘Python工程师标准>>> GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数 并无必 ...

  6. 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )

    文章目录 前言 一.业务子函数接口定义要点 二.完整代码示例 前言 字符串开发模型 : strstr-while/do-while 模型 : 在 字符串 中 查找 子串特征 ; 两头堵模型 : 两个指 ...

  7. C++-win32-GetLastError的返回值的含义

    GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值, ...

  8. 函数的概念三要素参数返回值好处递归

    函数 概念:实现特定功能的一段代码,可反复使用. 函数的三要素:返回值类型,函数名,形参列表 函数定义:函数的声明和函数的实现 定义语法:public static void main(String[ ...

  9. scanf和cin的返回值问题

    本文目录 scanf cin 总结 scanf scanf是一个函数,它的返回值是一个int,该int代表scanf成功读取到数据的个数,如果读到文件末尾或者输入ctrl+z标志读取完毕的时候就会读到 ...

最新文章

  1. CentOS 6.2下log4cplus的使用
  2. 在django中使用django_debug_toolbar
  3. 开放一些常见功能的工具类代码
  4. 浅析foreach原理
  5. hadoop jps 没有命令_hadoop:伪分布模式启动步骤分解
  6. Unity,Socket发送消息字符串问题
  7. JDBC下载,使用,访问数据库
  8. 如何获取win10安装驱动
  9. 自定义View之Matrix最全API解析
  10. 用C语言解“厘米换算英尺英寸”问题
  11. 流利阅读 2019.2.2 Barbie will soon be 60—and is still going strong
  12. Prometheus 查询语言 PromQL 的 CPU 使用率计算方法
  13. 计算机毕业设计springboot+vue景区疫情预警系统
  14. Linux服务器-Linux服务器的类型
  15. 华子20221012笔试第三题
  16. 7类AI淘金者:各显神通,但钱到底被谁赚了?
  17. 【报告分享】2021小红书食饮品牌研究报告-艺恩(附下载)
  18. 输入法编程相关资源汇集-欢迎补充
  19. 计算机谱写的音乐,用WPSOffice谱写音乐简谱
  20. Vulkan_PCSS软阴影

热门文章

  1. 致敬一个时代的谢幕||老佛爷Karl Lagerfeld
  2. JavaScript---位运算符单竖杠(|)在JS的使用,与或(||)要作区分
  3. CSS 中文字体样式表(表一)
  4. 时间序列分析笔记(待整理)
  5. PyTorch 截取出某些通道
  6. 《计算机网络》复习总结 四、网络层
  7. yum安装openJDK1.7
  8. mysql tinytext 最大长度_TINYTEXT,TEXT,MEDIUMTEXT 和 LONGTEXT 的最大存储大小
  9. 企业为什么要做品牌推广?品牌推广的价值有哪些?
  10. Java Lock对象