2015/9/8-6

实现接口Comparator排序

int compare(Object o1, Object o2) 返回一个基本类型的整型,返回负数表示o1 小于o2,返回0 表示o1和o2相等,返回正数表示o1大于o2。

Java String.compareTo()方法

Java String.compareTo()方法用法实例教程, 此方法如果这个字符串是等参数字符串那么​返回值0,如果这个字符串是按字典顺序小于字符串参数那么返回小于0的值,如果此字符串是按字典顺序大于字符串参数那么一个大于0的值

简单使用

package com.zsz.develop.sortlistdemo;

import java.util.Comparator;

/**
 * 
 * @author xiaanming
 *
 */
public class PinyinComparator implements Comparator<SortModel> {

public int compare(SortModel o1, SortModel o2) {
    //这两个是不同的啊,一个是ol等于@,一个是ol等于#。对象就不一样了
    //忘记了这是if语句啊!!!第一个if为真就不会再执行了。
    //排个序。
    if (o1.getSortLetters().equals("@") || o2.getSortLetters().equals("#")) {
        return -1;
    } else if (o1.getSortLetters().equals("#") || o2.getSortLetters().equals("@")) {
        return 1;
    } else {
        return o1.getSortLetters().compareTo(o2.getSortLetters());
    }
}

}

java中Collections.sort排序

Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能;如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的。
compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true。
Collections.sort(list, new PriceComparator());的第二个参数返回一个int型的值,就相当于一个标志,告诉sort方法按什么顺序来对list进行排序。