java 类比较大小(实现Comparable接口)
2016-06-21 16:13
585 查看
import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 两个类要想比较大小, * 就必须实现Comparable<T>接口,类型参数T通常设为实现该接口的类名 * 实现Comparable<T>接口后,还要覆盖public int compareTo(<T> object)方法 * 如果两个对象相等返回0 * 当前对象大于方法传过来的对象时,返回一个正整数 * 当前对象小于方法传过来的对象时,返回一个负整数 * 而且相等时必须和equals()方法保持一致,即eaquls()方法要返回true * 否则相反 */ public class comparablePoint implements Comparable<comparablePoint>{ public int x; public int y; public comparablePoint(int x,int y) { this.x=x; this.y=y; } public int compareTo(comparablePoint point) { int s1=x*x+y*y; int s2=point.x-point.x+point.y*point.y; return s1-s2; } public String toString() { return "["+x+","+y+"]"; } public static void main(String args[]) { if(new comparablePoint(3, 4).compareTo(new comparablePoint(1, 1))>0) System.out.println("true"); //线性表 List<comparablePoint> points=new ArrayList<comparablePoint>(); points.add(new comparablePoint(1, 6)); points.add(new comparablePoint(3, 4)); points.add(new comparablePoint(5, 2)); System.out.println(points); Collections.sort(points);//调用Collections工具类进行排序 System.out.println("排序后的情况"); System.out.println(points); } }
结果
true
[[1,6], [3,4], [5,2]]
排序后的情况
[[3,4], [5,2], [1,6]]
相关文章推荐
- Spring事务的隔离级别
- Java 使用 pdfbox 读取 PDF文件中的文本
- maven搭建SpringMVC+Hibernate+Freemarker工程
- java集合特性
- 【Java并发编程】之一:可重入内置锁
- MyEclipse使用技巧(转载)
- Spring是怎样寻找类的
- java web中图片验证码功能的简单实现方法
- Java的反射
- 学习整合hibernate springmvc spring的 心得(1)
- java设计模式
- java.lang.NoClassDefFoundError:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- IT十八掌作业_java基础第十四天_IO
- 面向对象语言(如Java)中:基本类型与对象在存储和参数传递上的区别
- java 面向对象 this 构造函数 垃圾回收
- spring mvc4.1.6 spring4.1.6 hibernate4.3.11 mysql5.5.25开发环境搭建图文教程
- 高并发Java六 JDK并发包2
- 【Spring专题-0】复习提纲
- 将spring的x-frame-option设置为无效的方法
- MyEclipse2014导入web项目常见问题设置