您的位置:首页 > 编程语言 > Java开发

java中如何实现自定义排序

2013-02-26 20:13 477 查看
解题中经常用到自定义排序,把这篇文章放到这里备用。

当需要排序的集合或数组不是单纯的数字型时,通常要用到两个接口Comparator或Comparable,以简单的方式实现对象排序或自定义排序。

一、Comparator

强行对某个对象collection进行整体排序的比较函数,可以将Comparator传递给Collections.sort或Arrays.sort。

接口方法:

/**

* @return o1小于、等于或大于o2,分别返回负整数、零或正整数。

*/

int compare(Object o1, Object o2);

例:

Java代码







import java.util.Arrays;
import java.util.Comparator;
public class SampleComparator
implements Comparator {
public int compare(Object o1, Object o2) {

return toInt(o1) - toInt(o2);
}
private int toInt(Object o) {

String str = (String) o;
str = str.replaceAll("一", "1");

str = str.replaceAll("二", "2");

str = str.replaceAll("三", "3");

//
return Integer.parseInt(str);
}
/**
* 测试方法
*/
public static
void main(String[] args) {
String[] array = new String[] {
"一二", "三", "二" };
Arrays.sort(array, new SampleComparator());
for (int i =
0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
C:\hdu>java SampleComparator


一二
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: