java compare 接口
1.比较后,返回0,1,-1 的结果,可以用
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
效率更高
以下转自 http://bluelzx.javaeye.com/blog/200987
1.
两种比较接口分析
在
“
集合框架
”
中有两种比较接口:
Comparable
接口和
Comparator
接口。
Comparable
是通用的接口,用户可以实现它来完成自己特定的比较,而
Comparator
可以看成一种算法的实现,在需要容器集合实现比较功能的时候,来指定这个比较器,这可以看成一种设计模式,将算法和数据分
离。
前者应该比较固
定,和一个具体类相绑定,而后者比较灵活,它可以被用于各个需要比较功能的类使用。
一个类实现了
Camparable
接口表明这个类的对象之间是可以相互比较的。如果用数学语言描述的话就是这个类的对象组成的集合中存在一个全序。这样,这
个类对象组成的集合就可以使用
Sort
方法排序了。
而
Comparator
的作用有两个:
1
、如果类的设计师没有考虑到
Compare
的问题而没有实现
Comparable
接口,可以通过
Comparator
来实现比较算法进行排序;
2
、为了使用不同的排序标准做准备,比如:升序、降序或其他什么序。
2 Comparable
接口
public
interface
Comparable<T> {
public
int
compareTo(T o);
}
java.lang.
Comparable
接口定义类的自然顺序,实现该接口的类就可以按这种方式排序。
1
)
int compareTo(Object o):
比较当前实例对象与对象
o
,如果位于对象
o
之前,返回负值,如果两个对象在排序中位置相同,则返回
0
,如果位于对象
o
后面,则返回正值。
2
)在
Java 2 SDK
版本
1.4
中有二十四个类实现
Comparable
接口。下表展示了
8
种基本类型的自然排序。虽然一些类共享同一种自然排序,但只有相互可比的类才能排序。
类
排序
BigDecimal,BigInteger,Byte,Double,
Float,Integer,Long,Short
按数字大小排序
Character
按
Unicode
值的数字大小排序
String
按字符串中字符
Unicode
值排序
利用
Comparable
接口创建自己的类的排序顺序,只是实现
compareTo()
方法的问题。通常就是依赖几个数据成员的自然排序。同时类也应该覆盖
equals()
和
hashCode()
以确保两个相等的对象返回同一个哈希码。
这个接口的作
用:如果数组或者集合中的(类)�
相关文档:
Google
、
VMware
让
Java
扛起云计算大旗
通过与
Google
、
Salesforce.com
等
企业
的合作,虚拟化厂商
VMware
正在努力使
云计算
变得更为轻量、可移植,以符合客户的要求。
如果有人问
Java
产品供应商都有哪些?
EMC
的子公司
VMware
的排名绝对不会靠前。对大多数人来说,
V ......
安装,配置j2sdk:
执行j2sdk安装程序,按默认设置进行安装,也可自定义路径,但需修改下面的配置
配置j2sdk:
配置环境变量:
我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:
JAVA_HOME=C:\Program Files\Java\jdk1.5.0_04
CLASSPATH=%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME%\lib\to ......
我们首先来看一段代码:
Java代码 :
String str=new String("abc");
紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相
信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起
回顾一下与创建String对象相关的一些JAVA知识。
我们可以把上面这行代码� ......
(一)java 静态代码块 静态方法区别
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对� ......