zoukankan      html  css  js  c++  java
  • Compare接口

    1、Comparable接口

      此接口强行对实现它的每个类的对象进行整体排序。此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 。实现此接口的对象列表(和数组)可以通过 Collections.sort (和 Arrays.sort )进行自动排序。

    2、接口实现方法

      public interface Comparable<T> {

        public int compareTo(T t);

      }

      其中String实现Comparable接口,重写compareTo方法

      public int compareTo(String anotherString) {
        int len1 = value.length;
        int len2 = anotherString.value.length;
        int lim = Math.min(len1, len2);
        char v1[] = value;
        char v2[] = anotherString.value;

        int k = 0;
        while (k < lim) {
          char c1 = v1[k];
          char c2 = v2[k];
          if (c1 != c2) {
            return c1 - c2;
          }
        k++;
        }
        return len1 - len2;
      }//先比较两个字符串长度,再比较其ascii码

     

      String s1="123";
      String s2="12345";
      String t1="120";
      String t2="125";
      System.out.println(s1.compareTo(s2)); //-2
      System.out.println(t1.compareTo(t2)); //-5

    3、实例

       Arrays.sort();Collections.sort();在实现对类的自动排序中,类必须实现此接口,并重写其方法

      public int compareTo(Student other){

        if (id<other.id) return - 1;

        if (id>other.id) return 1;

        return 0 ;

      }

  • 相关阅读:
    .Net Core Swagger配置
    MySQL如何使用索引
    一个HTTP Basic Authentication引发的异常
    跑步花钱吗?
    跑步花钱吗?
    OpenShift中的持续交付
    在AWS中部署OpenShift平台
    壮美大山包-2017中国大山包国际超百公里ITRA积分赛赛记
    膝盖中了一箭之康复篇-两周年纪念
    HashiCorp Vault介绍
  • 原文地址:https://www.cnblogs.com/MazeHong/p/6243877.html
Copyright © 2011-2022 走看看