java 重写compareTo方法实现类自定义排序
废话不多说,贴上代码!!!
package com.xxxxxx.xxxxxx.xxxxxx;import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class Person implements Comparable<Person> {private String name;private int age;private int money;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getMoney() {return money;}public void setMoney(int money) {this.money = money;}public Person(String name, int age, int money) {super();this.name = name;this.age = age;this.money = money;}@Overridepublic String toString() {return name + "=" + age + "=" + money;}@Overridepublic int compareTo(Person o) {if ((this.money + this.age) - (o.getMoney() + o.getAge()) > 0) {return 1;} else {return -1;}}public static void main(String[] args) {Person p1 = new Person("a", 10, 10);Person p2 = new Person("b", 20, 20);Person p3 = new Person("c", 100, 100);Person p4 = new Person("d", 50, 50);Person p5 = new Person("e", 30, 30);List<Person> p = new ArrayList<>();p.add(p1);p.add(p2);p.add(p3);p.add(p4);p.add(p5);Collections.sort(p);p.forEach(param -> {System.out.println(param);});}}
效果图:
最后我觉得还是用内部类的方式方便一点,平时简单的排序 使用lambda的排序也够用了!
java 重写compareTo方法实现类自定义排序相关推荐
- java重写compareTo()方法,比较对象的大小
理论: 使用Comparable或Comparator两个接口中的任何一个来比较对象的大小 一.Comparable接口的使用,自然排序 1.像String.BigDecimal.包装类 ...
- JAVA集合四:比较器--类自定义排序
参考链接: HOW2J.CN 前言 对于JAVA集合,都能够用集合的工具类Collections 提供的方法: Collections.sort(List list) Collections.sort ...
- Java中CompareTo()方法的详细介绍
Java中CompareTo()方法: String 字符串用compareTo方法从第一位开始比较, 如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型 1.当两个比较的 ...
- Java Date compareTo()方法具有什么功能呢?
转自: Java Date compareTo()方法具有什么功能呢? Date compareTo()方法的功能简介说明:对比两个Date值的大小Date compareTo()方法的语法:publ ...
- java list compareto_java中的compareto方法以及LIst列表排序的详细介绍【转】
/*测试类*/ package test; import java.util.ArrayList; import java.util.Collections; import java.util.Com ...
- java重写compareTo的方法
重写compareTo的三种方法 创建类 匿名内部类 lambda表达式 创建类 //实现Comparator<T>接口,重写compare方法 class Compare impleme ...
- [转载] java重写toString()方法
参考链接: 在Java中重写toString() 前言: 在你兴高采烈的写完一个类,创建测试类时,创建对象,传入参数,调用对象,以为会得到参数值,但突然发现输出的是" 类名@什么东东?(其实 ...
- Java重写equals方法时为什么要重写hashCode方法
在我们平时编写Java代码时,重写equals方法时一定要重写hashCode方法,这是为什么呢? 在讨论这个问题前,我们先看下Object类中hashCode方法和equals方法. hashCod ...
- java 重写equals方法的种种“坑”
重写java object类的equals方法 覆盖equals方法请遵守约定 什么情况下要覆盖equals方法 容易违反的对称性 不易察觉的传递性 覆盖equals请遵守通用约定 似乎覆盖equal ...
最新文章
- Java遍历Map对象的四种方法
- 小学生四则运算出题程序 无操作界面java版 简单的运用java中一些基本操作
- 中职计算机基础课堂传统教学,中职计算机基础知识教学创新
- caffe基础(7): 命令行解析
- Java监控工具VisualVM
- 系统相机裁剪比例_拍照时图片比例怎么选?比构图还要提前一步的摄影攻略要做好...
- 大数据_Flink_流式处理_Flik Vs Spark streaming_Flink的特点---Flink工作笔记0007
- 算法总结之递推与递归
- 商业智能BI如何推进制造业转型
- 房屋建筑结构安全自动在线监测系统解决方案
- 对三极管特性曲线的理解
- java获取某年度有多少周_java获取一年共有多少周
- 怎样用自己电脑搭建网络服务器!不花一分钱
- ajax同步导致浏览器假死
- 伪类选择器编写顺序以及注意事项
- Z-STACK之cc2530LED驱动详解
- Java SE Development Kit (JDK) 安装
- C#调用系统蜂鸣,警报声
- 大家在人生低谷时有多惨,怎么熬过来的(四)
- Zhong__Go随机密码生成器