Comparable<T> 与 Comparator<T>
2015-06-07 22:08
267 查看
这两个都能通过Collections.sort或者Arrays.sort对对象进行排序。
Comparable<T>实例
由低到高排序 返回1
由高到低排序 返回-1
有时候,我们希望能够分别对Point按x,y进行排序,使用这种方法就不行了,就得使用Comparator<T>接口
Comparable<T>实例
由低到高排序 返回1
由高到低排序 返回-1
public class Point implements Comparable<Point> { public int x; public int y; @Override public int compareTo(Point o) { // TODO Auto-generated method stub if(this.x>o.x) return 1; else if( this.x<o.x) return -1; return 0; } } }
Arrays.sort();
Collections.sort();
有时候,我们希望能够分别对Point按x,y进行排序,使用这种方法就不行了,就得使用Comparator<T>接口
class Point { public float x; public float y; } class CompareX implements Comparator<Point> { @Override public int compare(Point o1, Point o2) { // TODO Auto-generated method stub if(o1.x>o2.x) return 1; else if(o1.x<o2.x) return -1; else { if(o1.y>o2.y) return 1; else if(o1.y<o2.y) return -1; return 0; } } } class CompareY implements Comparator<Point> { @Override public int compare(Point o1, Point o2) { // TODO Auto-generated method stub if(o1.y>o2.y) return 1; else if(o1.y<o2.y) return -1; return 0; } } java.util.Arrays.sort(points,new CompareY());//对Y排序 java.util.Arrays.sort(points,new CompareX());//对X排序
相关文章推荐
- iOS开发—03封装音频文件播放工具类
- 第6条:消除过期的对象引用
- intent-filter 之 data 「scheme, host, port, mimeType, path, pathPrefix, pathPattern」
- Hadoop对小文件的解决方案
- leetCode 之 Longest Common Prefix
- POJ3415:Common Substrings(后缀数组+单调栈)
- 增加元数据的未完成页面
- POJ 1273 -Drainage Ditches
- 教育管理系统——android家长客户端
- c++ --> 操作符重载
- 后台和前台交互显示图片及title
- iOS开发—02音乐的播放
- Mac下SecureCRT的安装与破解
- Java IDL介绍
- Linux下安装zookeeper
- 【VB6】文件拖拽技术
- 第三章第46题
- Webstorm 10 for mac osx 注册机,序列号,kegen
- Java 接口和抽象类区别
- iOS开发—01音效的播放