前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >java中Comparator有什么用,举例说明

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

作者头像
马克java社区
修改于 2021-04-30 02:12:35
修改于 2021-04-30 02:12:35
3730
举报
文章被收录于专栏:java大数据java大数据

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 characte

         * 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 iterato

       // Get an iterato

        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

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档