重写compareTo的三种方法

  • 创建类
  • 匿名内部类
  • lambda表达式

创建类

//实现Comparator<T>接口,重写compare方法
class Compare implements Comparator<Integer> {@Overridepublic int compare(Integer o1, Integer o2) {//return的值>0则交换两个数return o2-o1;}
}

不能用 int[ ]数组 而是用 Integer[ ]数组
两者区别

Integer是对象而int是基本数据类型
int默认值是0,Integer默认值是null
int类型直接存储数值,Integer需要实例化对象

public class Test {public static void main(String[] args) {//int n=10;Integer[] num=new Integer[n];for(int i=0;i<n;i++)num[i]=i+1;Arrays.sort(num,new Compare());System.out.println(Arrays.toString(num));}
}

匿名内部类

public class Test {public static void main(String[] args) {//int n=10;Integer[] num=new Integer[n];for(int i=0;i<n;i++)num[i]=i+1;Arrays.sort(num,new Comparator<Integer>(){@Overridepublic int compare(Integer o1, Integer o2) {return o2-o1;}});System.out.println(Arrays.toString(num));}
}

lambda表达式

lambda(未完成)

lambda表达式也是我最喜欢写的,因为代码量少
lambda是java8的新特性,用之前一定要看看是不是java8以上,在学校机房被坑了。

public class Test {public static void main(String[] args) {//int n=10;Integer[] num=new Integer[n];for(int i=0;i<n;i++)num[i]=i+1;Arrays.sort(num,((o1, o2) -> o2-o1));System.out.println(Arrays.toString(num));}
}

java重写compareTo的方法相关推荐

  1. java重写compareTo()方法,比较对象的大小

    理论: 使用Comparable或Comparator两个接口中的任何一个来比较对象的大小  一.Comparable接口的使用,自然排序       1.像String.BigDecimal.包装类 ...

  2. java 重写快捷键_方法重写

    方法重写 重写都是方法的重写,与属性无关 父类的引用可以指向子类,就是new一个子类的对象数据类型可以写为父类,new子类是可以指向父类的 重写的快捷键:Alt+insert 对静态方法调用的时候,调 ...

  3. java 重写compareTo方法实现类自定义排序

    废话不多说,贴上代码!!! package com.xxxxxx.xxxxxx.xxxxxx;import java.util.ArrayList; import java.util.Collecti ...

  4. java中如何改方法签名_我们可以在Java重写中更改方法签名吗?

    不,在覆盖超类的方法时,我们需要确保两个方法都具有相同的名称,相同的参数和相同的返回类型,否则它们将被视为不同的方法. 简而言之,如果我们更改签名,则尝试执行超类的方法时,将无法覆盖超类的方法. 原因 ...

  5. Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则

    Collections算法类         1.Collections类是Java提供的一个集合操作工具类. 2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序 ...

  6. JAVA中list.contains()方法,要重写equals(),hashcode()方法

    今天动力节点java培训机构小编为大家介绍"JAVA中list.contains()方法,要重写equals(),hashcode()方法",希望能够帮助正在学习java的零基础学 ...

  7. java重写的代码_java tostring方法重写代码示例

    当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.printl ...

  8. java 子类重写父类的方法应注意的问题

    若想实现一个合格重写方法,而不是重载,那么必须同时满足下面的要求! A.重写规则之一:     重写方法不能比被重写方法限制有更严格的访问级别. (但是可以更广泛,比如父类方法是包访问权限,子类的重写 ...

  9. java 重写方法 访问权限_为何Java中子类重写方法的访问权限不能低于父类中权限(内含里氏替换原则)...

    为何Java中子类重写方法的访问权限不能低于父类中权限 因为 向上转型及Java程序设计维护的原因 例: 假设一个父类A 拥有的方法public void setXXX(){}可以被其他任意对象调用这 ...

最新文章

  1. how is SAP UI5 bindItems implemented
  2. Linux下Samba服务器搭建
  3. LeetCode MySQL 1571. 仓库经理
  4. 感觉又学到了不少,在这里写下来,但也有一个问题,不知道是为甚吗?
  5. openwrt 19 overlay 空间不足_【邯郸】2020年度市级科技企业孵化器和众创空间拟认定名单公示...
  6. linux php没有bin,php - 执行Linux命令没有报错但也没有输出
  7. hdu5751 Eades
  8. python复制mysql表_MySQL中表的复制以及大型数据表的备份教程
  9. 一个 Java 方法,最多能定义多少参数?
  10. JS拖动技术--- 关于setCapture
  11. vb6 怎么把一个数组的 0 值 去掉_解决逆向查找问题?VLOOKUP、CHOOSE、IF,索引数组,轻松解决...
  12. 回溯算法 马里奥式学习法
  13. vue使用Mars3D实现3d卫星轨道和3d地球图
  14. miniGUI-4.0.2 交叉编译
  15. iPhone7可以共享热点给多少设备使用呢?
  16. UVALive 7308 Tom and Jerry 猫抓老鼠 物理题
  17. android6.0屏蔽home键,android 禁用home键
  18. 移动端页面键盘弹出后导致body高度变低背景图片被挤上去解决方法
  19. [小程序项目] 使用微信开发者工具 新闻小项目 轮播图 新闻列表页 点击跳转新闻详情页 登录 获取用户基本信息
  20. Glyphicon 字体图标

热门文章

  1. 刘强东年底每天要开一千家店;联通将关2G;王兴否认摩拜裁员丨价值早报
  2. PHA关闭测试网、预备网即将正式上线!
  3. 编辑距离(Edit Distance)
  4. 魅族android m lmx4,主流级方案、骁龙425:LG 韩国发布 X4 智能手机
  5. Portainer - 管理docker
  6. 总裁演说思维:口才训练方法留言评论法
  7. SQL Server 数据库附加操作时,附加的的数据库只读的解决
  8. 文案配音软件哪个好?
  9. java实现压缩文件预览
  10. 运行 gnocchi resource list --type image,报AttributeError: _Environ instance has no attribute ‘set‘的解决