import java.util.ArrayList;

import java.util.Collections;

import java.util.List;

/**

* 两个类要想比较大小,

* 就必须实现Comparable接口,类型参数T通常设为实现该接口的类名

* 实现Comparable接口后,还要覆盖public int compareTo( object)方法

*如果两个对象相等返回0

*当前对象大于方法传过来的对象时,返回一个正整数

* 当前对象小于方法传过来的对象时,返回一个负整数

*而且相等时必须和equals()方法保持一致,即eaquls()方法要返回true

*否则相反

*/

public class comparablePoint implements Comparable{

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 points=new ArrayList();

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]]

java 类 比较大小_java 类比较大小(实现Comparable接口)相关推荐

  1. java 时间判断大小_java判断时间大小

    //构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date d ...

  2. java 栈 大小_java – JVM堆栈大小规范

    Question, what does 1 MB stack size states in JVM as I have no idea what size a stack frame of? 1 MB ...

  3. java类的实现_java类的实现

    java类的实现 第 9讲 类的实现• 面向对象技术的编程特点• 类的描述• 成员变量和成员方法• 对象的使用• 构造方法• 使用 UML设计类• static 成员• 参数传递• 聚集类UML设计U ...

  4. java类初始化顺序_Java 类的初始化顺序

    静态代码块:用staitc声明,jvm加载类时执行,仅执行一次 构造代码块:类中直接用{}定义,每一次创建对象时执行 执行顺序优先级:静态块,main(),构造块,构造方法 1. 构造函数 publi ...

  5. java类声明语句_Java面向对象编程-类的声明周期

    第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...

  6. java类的封装_Java类中的封装

    1.Java类中的封装 学习了访问权限修饰符后,应该可以理解封装性的概念和含义.封装性是面向对象三大特征之一 封装性是一种信息隐藏技术 2.封装的概念 在面向对象程式设计方法中,封装(英语:Encap ...

  7. java 类继承实例_java继承例子代码,java类的继承示例

    下面要给大家带来的是一个java类的继承的例子,一起来看看详细的代码吧! 一.题目 1.定义一个Person类,这个类的属性有三个,分别是name.age.color. 类有构造方法给三个属性赋值. ...

  8. java类路径快捷键_Java快捷键

    eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户编辑的好帮手,能为用户提供内 ...

  9. java mb单位转换_Java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

    程序员都很懒,你懂的! java程序员在实际的开发中会遇到很多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下,一般要求 b,kb,mb,gb,tb,pb之间的大小转换,我们都 ...

最新文章

  1. 虞旦盛老师 的《数学分析续》课件
  2. oracle 行送,Oracle 行专列
  3. SQL 触发器的使用
  4. 盘点那些世间顶级直男hhhhhh | 今日最佳
  5. linux自动挂载fcoe存储,在sdb上挂载USB 设备
  6. Bootstrap 高亮某个菜单项
  7. Java开源项目Hibernate包作用详解
  8. Mysql 哈希索引
  9. HDU 3594 Cactus (强连通+仙人掌图)
  10. Apache for windows虚拟主机配置方案(安全优化)
  11. Es6 filter()、map()、find()方法详解
  12. windows下7z文件解压
  13. Android混淆介绍
  14. c语言求开平方标准库函数,c语言如何求平方根 C语言中开平方函数是什么?
  15. java后台数据传到前台的流程_java serlve后台数据传到前台
  16. uni-app:搜索关键词并高亮显示,可重复显示
  17. 004:Python爬虫实战 由易到难(图文解析)
  18. 编译指示_#pragma在DSP中的编程技巧
  19. MATLAB将数据存在TXT文件中
  20. 第157篇 合约安全-随机数

热门文章

  1. Codeforces Round #552 (Div. 3) Editorial 1154C - Gourmet Cat
  2. LOJ#3085. 「GXOI / GZOI2019」特技飞行(KDtree+坐标系变换)
  3. 六个超大规模Hadoop(前景)
  4. 20141113--SQL 事务
  5. unix 网络编程总结
  6. Visual C#.Net网络程序开发-Tcp篇(1)
  7. linux mysql c语言 api_linux连接MySQL数据库(C语言 API 分析,动态插入修改数据)
  8. RabbitMQ学习之Work Queues(2)
  9. 大数据工程师职场面试攻略技巧有哪些?
  10. QImage对一般图像的处理