Java中的Comparable接口和Comparator
来源:互联网 发布:javascript sort() 编辑:程序博客网 时间:2024/05/18 02:39
在现实世界中,对象通常是可以比较的.例如,爸爸的车比妈妈的车要贵,这本字典比那本字典要薄,Granny要比Auntie Mollie大,等等。在写面向对象的程序时,通常需要比较一个类的两个实例。一旦实例可以比较,它们就可以被排序。举个例子,给出两个员工,你也许想知道哪一个员工在公司呆的时间要长些。或者,通过first name搜索出来的人你希望通过年龄来对他们排序。这篇文章教你怎么样通过实现java.lang.Comaparable接口和java.lang.Comparator来设计你的类使得实例可以比较.
大部分的程序员知道怎么样通过java.util.Arrays类中的sort方法来对String数组中的元素进行排序。对于ArrayList中的String实例,你可以通过java.util.Collections类中的方法来对它们进行排序。第一个例子展现了如何通过Arrays.sort方法来对String实例进行排序
怎么样通过年龄和名字来比较这些Person实例呢?运用java.util.Arrays类的sort方法,像这样
Arrays.sort(persons);
将会抛出ClassCastException.
当然,你可以写一段你自己的代码通过运用算法例如快速排序、冒泡排序或者其他的来对它们进行排序。但是,这是不实际的。最好的解决办法就是实现java.lang.Comparable接口
Using the java.lang.Comparable
Interface
实现Comparable接口可以使得你的类实例可以比较。这个接口有一个方法:compareto.这个方法决定了怎么样比较类的两个实例。这个方法具体是:
public int compareTo(Object o)
这个compareto方法能够接收一个对象作为参数,所以你能传递给它任何类型的对象。然而你需要实现的是比较两个同类型的实例。通过它去比较一只大象和一只蚂蚁是说不通的。因此,如果这个方法的参数的类型不和你的类一样那么就会抛出java.lang.ClassCastException异常
- Java中的Comparable接口和Comparator
- java中的comparable和comparator接口
- Java中的Comparable和Comparator接口
- Java中的Comparable和Comparator
- java中的comparable和comparator
- Java中的Comparable和Comparator
- Java中的Comparable和Comparator
- java的comparable接口和comparator接口
- Comparator和Comparable接口
- Comparable 和 Comparator接口
- Comparable和Comparator接口
- Comparator和Comparable接口
- Comparable和Comparator接口
- Comparable和Comparator接口
- java的Comparable 和Comparator 接口
- Java的Comparator和Comparable接口
- java 接口Comparable和Comparator的使用
- Java comparable和Comparator接口的区别
- C++ COM实现之四 添加接口
- wince(windows mobile) 中win32 实现带透明背景的贴图按钮
- 一次项目易用性检查会议的记录
- 被风投看好的网络创业创意
- 汇编学习 NO4
- Java中的Comparable接口和Comparator
- ERP—Enterprise Resource Planning (企业资源计划)
- 7月30日
- gridview的一些应用
- pku1066 Treasure Hunt
- 又到月尾了,先占个位置【财产异动分析书】
- 又一次回家……
- flash 场景转换问题
- C++ COM实现之五 调用这个DLL