1. 程式人生 > >Java:通過TreeSet,Comparator實現對字串的排序。

Java:通過TreeSet,Comparator實現對字串的排序。

TreeSetTest.java

import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;

public class TreeSetTest {
    public static void main(String[] args) {
        Comparator<String> cp = new StringCompare();
        Set<String> set = new TreeSet<>(cp);
        set.add("HashSet");
        set.add("ArrayList");
        set.add("TreeMap");
        set.add("HashMap");
        set.add("TreeSet");
        set.add("LinkedList");

    for(String s:set){
        System.out.println(s);
    }
}
}

StringCompare.java

import java.util.Comparator;

public class StringCompare implements Comparator<String>{
    @Override
    public int compare(String o1, String o2) {
        // int compareTo(String anotherString)  按字典順序比較兩個字串。 
        return -o1.compareTo(o2);
    }
    }
注意:compareTo是String的方法。

compareTo:按字典順序比較兩個字串。該比較基於字串中各個字元的 Unicode 值。按字典順序將此 String 物件表示的字元序列與引數字串所表示的字元序列進行比較。如果按字典順序此 String 物件位於引數字串之前,則比較結果為一個負整數。如果按字典順序此 String 物件位於引數字串之後,則比較結果為一個正整數。如果這兩個字串相等,則結果為 0;compareTo 只在方法 equals(Object) 返回 true 時才返回 0。