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

2021/7/12 9:35:53

本文主要是介绍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
        Iterator i = ts.iterator();
        // Display elements
        while (i.hasNext()) {
            Object element = i.next();
            System.out.print(element + " ");
        }
        System.out.println();
    }
}

更多内容请见原文,原文转载自:https://blog.csdn.net/qq_44639795/article/details/103087154



这篇关于java中Comparator有什么用,举例说明?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程