java中Comparator有什么用,举例说明?

3.6 Comparator的用法  (视频下载) (全部书籍)

马克-to-win:和Comparable的思路一样,只不过排序规则这次是在Comparator的继承类的compare方法中定义。

例:3.6.1


import java.util.*;

// A reverse comparator for strings.
class MyComp implements Comparator {
    /* Comparator has two methods compare and equals, when your class implements
      Comparator, there is no need to override equals, why? java.lang Class
      Object implement equals method, so its sub-class MyComp does not need to
      implement equals method, while java.lang Class Object does not implements
      compare mathod.     */
    public int compare(Object a, Object b) {
        String aStr, bStr;
        aStr = (String) a;
        bStr = (String) b;
        /* compareTo(String anotherString)Compares two strings
         * lexicographically. The comparison is based on the Unicode value of
         * each character in the strings. The character sequence represented by
         * this String object is compared lexicographically to the character
         * sequence represented by the argument string.

         * The result is a negative integer if this String object
         * lexicographically precedes the argument string.
         */
        /* the following two statements will have the opposite effect. */
        // return bStr.compareTo(aStr);
        return aStr.compareTo(bStr);
    }
}

public class TestMark_to_win {
    public static void main(String args[]) {
        /* Constructs a new, empty set, sorted according to the specified
         * comparator. All elements inserted into the set must be mutually
         * comparable by the specified comparator: comparator.compare(e1, e2)
         */
        TreeSet ts = new TreeSet(new MyComp());
        // Add elements to the tree set
        ts.add("C");
        ts.add("A");
        ts.add("B");
        ts.add("E");
        ts.add("F");
        ts.add("D");
        // Get an iterator
       // Get an iterator
。。。。。。。。。。。。。。。。。
详情黏贴以下网址在地址栏后请进:http://www.mark-to-win.com/index.html?content=JavaBeginner/javaUrl.html&chapter=JavaBeginner/JavaBeginner7_web.html#DefinitionUsageOfComparator

猜你喜欢

转载自www.cnblogs.com/mark-to-win/p/9698031.html