Java本身的排序函数如何调用
2016-10-14 23:58
190 查看
参考:http://zhidao.baidu.com/question/77100253.html
请问一下java中的自动排序函数有没有啊
如果有应该怎么用啊 谢谢啊
haozi000005 | 浏览
9777 次 2008-11-27 22:17
2015-06-10 12:39
最佳答案
java自动排序函数.......
请问一下java中的自动排序函数有没有啊如果有应该怎么用啊 谢谢啊
haozi000005 | 浏览
9777 次 2008-11-27 22:17
2015-06-10 12:39
最佳答案
要实现排序功能,一般有两种途径,这里对基本类型不适用,基本类型一般有Arrays中的静态方法. 1.对象本身实现Comparable接口,那么该类的实例就是可以排序的. 有关Comparable: http://blog.csdn.net/treeroot/archive/2004/09/09/99613.aspx 只要实现了Comparable接口,就可以调用Collections的sort方法对集合中的元素排序. 2.指定一个Comparator,也就是实现了Comparator的类的一个实例. 但是Java本身只提供了一个Comparator的实现,就是Collections.reverseOrder(). 该方法返回的是一个已经实现了Comparable接口的反序. 看一下Comparator的全部内容: public interface Comparator { int compare(Object o1, Object o2); boolean equals(Object obj); } 定义了两个方法,其实我们一般都只需要实现compare方法就行了,因为类都是默认从Object继承 所以会使用Object的equals方法. Comparator一般都作为一个匿名类出现,对于没有实现Comparable的对象的集合,排序的时候 需要指定一个Comparator. 这里举例说明 对于实现了Comparable的类我们就用最简单的Integer List list=new ArrayList(); list.add(new Integer(3)); list.add(new Integer(53)); list.add(new Integer(34)); Collections.sort(list); 对于没有实现Comparable的,我们就用Object,按照hashCode大小来排序. List list= new ArrayList(); list.add(new Object()); list.add(new Object()); list.add(new Object()); Collections.sort(list,new Comparator(){ public int compare(Object o1, Object o2){ return (o1.hashCode()-o2.hashCode()); })
相关文章推荐
- Java 开发中之七:oracle中的子程序之在JAVA中如何调用存储过程,函数。
- java本地方法如何调用其他程序函数,方法详解2
- java字段中初始化的规律与如何用静态成员函数调用非静态成员
- JNI如何调用Java函数
- java本地方法如何调用其他程序函数,方法详解
- Java反射 类类型就是可以操作的类本身 如何通过反射得到函数 函数返回值 函数参数
- 类反射学习(三) JAVA如何利用类反射调用普通函数、访问成员成员变量
- JAVA里如何调用C/C++的DLL里的函数
- 请教:在java中如何实现线程的函数互斥调用,用synchronized好像实现不了
- cocos2d-js 安卓环境,如何用js代码直接调用java函数
- java如何在函数中调用主函数的数组
- java中如何使用JNI调用C++写的函数
- java如何在函数中调用主函数的数组
- JNI中在被调用的C/C++函数中如何访问Java程序中的类,并编写应用实例
- 如何在java中调用C的函数
- 如何通过JNI在Java中调用C库函数
- clojure实战——如何在java中调用clojure函数
- 如何用VC编写供JAVA调用的DLL
- 调用system函数时,如何隐藏其dos窗口
- Java如何通过VC调用VB编写的COM