巧用java的sort排序
来源:互联网 发布:游戏多核优化的多吗 编辑:程序博客网 时间:2024/06/03 23:40
在进行程序编写时,时常会遇到一些排序的问题,往往程序性能的怎么样,往往就在这些地方可以体现出来,因为有时候,程序会花大量的时间来运行这些排序上的算法,而在JAVA里面,已经有了一个sort算法,它能够减少你大量的时间来进行排序,而且用起来比较简单,只需要定义好排序的规则即可。
一般使用方法是:java.util.Collections.sort(c lass something); 当然,如果只是这样是不行的,必须还要做一个事情,就是给这个class类定义好Comparable接口,否则将会出现错误,查看Integer 的compareTo()方法: public int compareTo(Integer anotherInteger) {
int thisVal = this.value;
int anotherVal = anotherInteger.value;
return (thisVal<anotherVal ? -1 : (thisVal==anotherVal ? 0 : 1));
这里要了解的重点是,当return 的值大于0时,this的值将会排到anotherInteger值的后面,反之return的值小于0时,this将排在anotherInteger前面。
我们再分析一个例子:
@Override
public int compareTo(FileInfo another) {
// TODO Auto-generated method stub
if (another.directory) {
if (!directory)
return 1;
return this.name.compareTo(another.name);
}
if (directory)
return -1;
return this.name.compareTo(another.name);
}
}
当another是文件夹时,且当时不为文件夹时,this排在 another的后面,当this也为文件夹时,再用名字作比较(这里是根据字符串规则来作比较),
当another不为文件夹时,且this为文件夹时,返回-1 ,表示 this排在another的前面。
这里的compareTo的作用,就是在制定一个作比较的规则,之后的事,则由java来进行排序,在性能上要比一般的算法要好得多。
- 巧用java的sort排序
- 【Java】排序之Java的Sort函数
- java自带的排序方法sort
- java集合排序方法sort的使用
- Java----Collections的Sort排序小测试
- java中Collections的sort排序
- 排序之Java的Sort函数
- Java----Collections的Sort排序小测试
- Java----Collections的Sort排序小测试
- Java排序方法sort的使用详解
- java的Collections.sort集合排序
- Java排序方法sort的使用详解
- java-Collections的sort集合排序方法
- java中的排序sort()函数的使用
- Java排序方法sort的使用详解
- Java sort排序
- JAVA------sort-----------------排序
- java Arrays.sort()排序
- Objective-C语法快速参考
- ADO.NET在开发中的部分使用方法和技巧
- python实现复杂范围重组
- 从数据库导出数据到word、excel、.txt _asp.net技巧
- 华为VRP模拟环境配置ip访问
- 巧用java的sort排序
- 使用Sqoop在HDFS和RDBMS之间导数据
- C/C++中计算时间程序
- 一步一步写算法(之排序二叉树)
- 继续ANDROID学习第二步,不使用Eclipse创建JAVA工程
- 二路归并排序(链式存储)
- WordPress显示同个父页面的其他子页面的链接
- Actors in Scala(Scala中的Actor)(预打印版) 第二章 Messages All the Way Up (D)
- VMWARE8支持linux 3.0内核