compareTo返回值为-1 、 1 、 0代表的意义总结
此文也是总结,参考了各位博主之后的理解:
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代表的意义总结相关推荐
- java compareto 返回值_Java comparable接口及compareTo返回值所决定的升序降序问题
我们在学习java基础的时候知道,基本数据类型数组可以直接调动Arrays类的静态sort方法,然后输出. 例如: int iArr[] = {1,2,4,6}; Arrays.sort(iArr) ...
- java compareto 返回值_Java File compareTo()方法
Java File compareTo()方法 java.io.File.compareTo(File pathname) 方法比较两个抽象路径名的字典顺序.用这种方法定义的排序是依赖于操作系统. 1 ...
- java return返回值_java中关于return返回值的用法详解
我们输入一个条件时,系统就会对这个条件进行判断,然后给出一个返回时的结论,我们把这个结果看做是返回值.在java里可以使用return语句来进行返回,从字面意思就能很好的理解它的用法了.下面我们就re ...
- python sort函数返回值_lambda函数与箭头函数在集合内置函数应用中的对照学习
Python语言中有一个定义轻量级规则的lambda函数,其语法格式为: Lambda 参数列表:返回值表达式 简单的例子如:定义func=lambda x,y:x+y,则调用func(10,20)的 ...
- GetLastError 函数返回值大全
2019独角兽企业重金招聘Python工程师标准>>> GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数 并无必 ...
- 【C 语言】字符串模型 ( strstr-while 模型 | 抽象函数模型 | 业务子函数接口定义要点 | 形参指针间接赋值 | 返回值状态 | 形参指针处理 | 形参指针判空 | 形参返回值 )
文章目录 前言 一.业务子函数接口定义要点 二.完整代码示例 前言 字符串开发模型 : strstr-while/do-while 模型 : 在 字符串 中 查找 子串特征 ; 两头堵模型 : 两个指 ...
- C++-win32-GetLastError的返回值的含义
GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置.函数并无必要设置上一次错误信息,所以即使一次GetLastError调用返回的是零值, ...
- 函数的概念三要素参数返回值好处递归
函数 概念:实现特定功能的一段代码,可反复使用. 函数的三要素:返回值类型,函数名,形参列表 函数定义:函数的声明和函数的实现 定义语法:public static void main(String[ ...
- scanf和cin的返回值问题
本文目录 scanf cin 总结 scanf scanf是一个函数,它的返回值是一个int,该int代表scanf成功读取到数据的个数,如果读到文件末尾或者输入ctrl+z标志读取完毕的时候就会读到 ...
最新文章
- CentOS 6.2下log4cplus的使用
- 在django中使用django_debug_toolbar
- 开放一些常见功能的工具类代码
- 浅析foreach原理
- hadoop jps 没有命令_hadoop:伪分布模式启动步骤分解
- Unity,Socket发送消息字符串问题
- JDBC下载,使用,访问数据库
- 如何获取win10安装驱动
- 自定义View之Matrix最全API解析
- 用C语言解“厘米换算英尺英寸”问题
- 流利阅读 2019.2.2 Barbie will soon be 60—and is still going strong
- Prometheus 查询语言 PromQL 的 CPU 使用率计算方法
- 计算机毕业设计springboot+vue景区疫情预警系统
- Linux服务器-Linux服务器的类型
- 华子20221012笔试第三题
- 7类AI淘金者:各显神通,但钱到底被谁赚了?
- 【报告分享】2021小红书食饮品牌研究报告-艺恩(附下载)
- 输入法编程相关资源汇集-欢迎补充
- 计算机谱写的音乐,用WPSOffice谱写音乐简谱
- Vulkan_PCSS软阴影
热门文章
- 致敬一个时代的谢幕||老佛爷Karl Lagerfeld
- JavaScript---位运算符单竖杠(|)在JS的使用,与或(||)要作区分
- CSS 中文字体样式表(表一)
- 时间序列分析笔记(待整理)
- PyTorch 截取出某些通道
- 《计算机网络》复习总结 四、网络层
- yum安装openJDK1.7
- mysql tinytext 最大长度_TINYTEXT,TEXT,MEDIUMTEXT 和 LONGTEXT 的最大存储大小
- 企业为什么要做品牌推广?品牌推广的价值有哪些?
- Java Lock对象