java 类 比较大小_java 类比较大小(实现Comparable接口)
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接口)相关推荐
- java 时间判断大小_java判断时间大小
//构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date d ...
- 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 ...
- java类的实现_java类的实现
java类的实现 第 9讲 类的实现• 面向对象技术的编程特点• 类的描述• 成员变量和成员方法• 对象的使用• 构造方法• 使用 UML设计类• static 成员• 参数传递• 聚集类UML设计U ...
- java类初始化顺序_Java 类的初始化顺序
静态代码块:用staitc声明,jvm加载类时执行,仅执行一次 构造代码块:类中直接用{}定义,每一次创建对象时执行 执行顺序优先级:静态块,main(),构造块,构造方法 1. 构造函数 publi ...
- java类声明语句_Java面向对象编程-类的声明周期
第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...
- java类的封装_Java类中的封装
1.Java类中的封装 学习了访问权限修饰符后,应该可以理解封装性的概念和含义.封装性是面向对象三大特征之一 封装性是一种信息隐藏技术 2.封装的概念 在面向对象程式设计方法中,封装(英语:Encap ...
- java 类继承实例_java继承例子代码,java类的继承示例
下面要给大家带来的是一个java类的继承的例子,一起来看看详细的代码吧! 一.题目 1.定义一个Person类,这个类的属性有三个,分别是name.age.color. 类有构造方法给三个属性赋值. ...
- java类路径快捷键_Java快捷键
eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户编辑的好帮手,能为用户提供内 ...
- java mb单位转换_Java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)
程序员都很懒,你懂的! java程序员在实际的开发中会遇到很多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下,一般要求 b,kb,mb,gb,tb,pb之间的大小转换,我们都 ...
最新文章
- 虞旦盛老师 的《数学分析续》课件
- oracle 行送,Oracle 行专列
- SQL 触发器的使用
- 盘点那些世间顶级直男hhhhhh | 今日最佳
- linux自动挂载fcoe存储,在sdb上挂载USB 设备
- Bootstrap 高亮某个菜单项
- Java开源项目Hibernate包作用详解
- Mysql 哈希索引
- HDU 3594 Cactus (强连通+仙人掌图)
- Apache for windows虚拟主机配置方案(安全优化)
- Es6 filter()、map()、find()方法详解
- windows下7z文件解压
- Android混淆介绍
- c语言求开平方标准库函数,c语言如何求平方根 C语言中开平方函数是什么?
- java后台数据传到前台的流程_java serlve后台数据传到前台
- uni-app:搜索关键词并高亮显示,可重复显示
- 004:Python爬虫实战 由易到难(图文解析)
- 编译指示_#pragma在DSP中的编程技巧
- MATLAB将数据存在TXT文件中
- 第157篇 合约安全-随机数
热门文章
- Codeforces Round #552 (Div. 3) Editorial 1154C - Gourmet Cat
- LOJ#3085. 「GXOI / GZOI2019」特技飞行(KDtree+坐标系变换)
- 六个超大规模Hadoop(前景)
- 20141113--SQL 事务
- unix 网络编程总结
- Visual C#.Net网络程序开发-Tcp篇(1)
- linux mysql c语言 api_linux连接MySQL数据库(C语言 API 分析,动态插入修改数据)
- RabbitMQ学习之Work Queues(2)
- 大数据工程师职场面试攻略技巧有哪些?
- QImage对一般图像的处理