`

Comparable接口的应用

    博客分类:
  • java
 
阅读更多
public interface Comparable<T> {
    public int compareTo(To);
}

在排序的世界里,需要继承Comparable,而这是一个泛型接口,如果使用了有序的集合,就需要override此方法,比如Treemap,而String类中override了它,那就解读一下。

public int compareTo(String anotherString) {
        //private final char value[];
        int len1 =value.length;
        intlen2 =anotherString.value.length;
        //获取到最小的长度
        int lim = Math.min(len1,len2);
        char v1[] =value;
        char v2[] =anotherString.value;
        //对两个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;
    }

 

对于Integer包装类,进行大小判定如下;

 

private final int value;
public int compareTo(Integer anotherInteger) {
        return compare(this.value,anotherInteger.value);
    }
public static int compare(int x, inty) {
        return (x <y) ? -1 : ((x ==y) ? 0 : 1);
    }

 public Integer(intvalue) {
        this.value =value;
    }

 

只是使用了简单的三木运算进行比较。

分享到:
评论

相关推荐

    Comparable接口和Comparator使用示例

    Comparable 接口和 Comparator 使用示例 在 Java 编程语言中,比较和排序是非常常见的操作。Comparable 接口和 Comparator 是两种常用的比较和排序方式。在本文中,我们将通过实例代码,详细介绍 Comparable 接口和...

    comparator接口与Comparable接口的区别

    应用场景:Comparable接口通常用于比较同一个类中的对象的大小,例如,我们可以在Person类中实现Comparable接口,以便比较Person类的对象的大小。 Comparator接口通常用于比较不同类中的对象的大小,例如,我们可以...

    Java8HashMap键与Comparable接口编程开

    这里我们将深入探讨Java 8 HashMap如何与Comparable接口结合使用,以及这背后的编程技术和设计原理。 首先,我们了解下Comparable接口。Comparable接口是Java中用于定义对象之间自然顺序的接口,它只有一个方法`...

    java 实现Comparable接口排序,升序、降序、倒叙

    在 Java 中,实现 Comparable 接口的类可以使用 Arrays.sort() 或 Collections.sort() 方法对对象列表进行排序。 在本文中,我们将详细介绍如何使用 Comparable 接口对 Java 对象进行排序,包括升序、降序和倒叙...

    浅析Java中comparator接口与Comparable接口的区别

    在实际应用中,如果你的类有一个明确的自然排序规则,比如日期或数字,那么实现Comparable接口通常是更好的选择。相反,如果需要在不同的场景下使用多种排序标准,或者不想修改原始类,Comparator接口则是首选。 ...

    推选Comparable自比较接口PPT资料.pptx

    在实际应用中,Comparable接口的测试案例解析可以帮助理解如何正确地实现和使用这个接口。例如,你可以创建一个自定义类,如`Person`,包含姓名和年龄属性,然后实现Comparable接口,使得按照年龄进行排序。在测试中...

    java中实现Comparable接口实现自定义排序的示例

    "java中的自定义排序实现" 在 Java 中实现自定义排序的需求是非常...这篇文章向大家展示了如何使用 Comparable 接口实现自定义排序的示例,这将有助于大家更好地理解 Java 中的排序机制,并更好地应用于实际开发中。

    【IT十八掌徐培成】Java基础第12天-02.TreeSet实现与Comparable接口.zip

    本课程重点讲解了`TreeSet`如何实现`Comparable`接口以及如何自定义比较规则。 首先,我们来了解`TreeSet`的基本概念。`TreeSet`内部使用红黑树数据结构存储元素,这使得它的插入、删除和查找操作具有较高的效率,...

    java中Comparable和Comparator的区别

    值得注意的是,Comparable接口的排序是全局的,也就是说,所有实现了Comparable接口的对象都将遵循同一个排序规则。而Comparator接口的排序是局部的,即在每个特定的排序操作中,可以根据需要创建不同的Comparator...

    java比较器Comparable接口与Comaprator接口的深入分析

    Java中的比较器主要涉及到两种接口:Comparable接口和Comparator接口,它们在处理对象排序时起着关键作用。 **Comparable接口** Comparable接口是Java.lang包下的一个接口,它只有一个方法:compareTo(T o)。当一个...

    Comparable接口和Comparator接口的比较

    - 自动排序:实现了Comparable接口的类的对象可以直接使用Collections.sort()或Arrays.sort()进行排序,而不需要额外的Comparator。 - 比较规则:Comparable接口定义的是类的自然排序,而Comparator提供更灵活的比较...

    Comparable&Comparator区别

    #### 二、Comparable接口解析 ##### 1. 概念介绍 `Comparable`接口位于`java.lang`包中,它定义了一个单一的方法`compareTo`。这个接口适用于那些具有自然顺序的对象。当一个类实现了`Comparable`接口时,意味着它...

    comparable和compartor区别

    #### 二、Comparable接口详解 `Comparable`接口是一种内置的比较机制,它允许一个类能够自我比较,即一个类自己实现了如何与其他同类型的对象进行比较的方法。当我们希望一个类能够按照某种规则进行排序时,就可以让...

    对比Java中的Comparable排序接口和Comparator比较器接口

    当你有一个实现了Comparable接口的对象列表或数组时,可以直接使用Collections.sort()或Arrays.sort()对其进行排序。Comparable接口只有一个方法,即`compareTo(T o)`,用于比较当前对象与传入的对象o的大小关系。...

    Comparable与Comparator的区别

    **Comparable接口** Comparable接口位于`java.lang`包下,它是一个对象自比较的接口。任何类如果需要进行排序,可以实现Comparable接口。例如,String、Integer等内置类已经实现了Comparable接口,可以方便地进行...

    Java中Comparable和Comparator的区别

    例如,Java中的String、Integer等类都实现了Comparable接口,这使得我们可以直接使用这些对象进行自然顺序的比较。当我们需要按照特定规则对类实例进行排序时,只需要在自定义类中实现Comparable接口,并重写`...

    详解Java中Comparable和Comparator接口的区别

    * 一个类实现了Comparable接口,就意味着“该类本身支持排序”,它可以直接通过Arrays.sort() 或 Collections.sort()进行排序。 * (02) "Comparator" * 它是一个比较器接口,包括两个函数:compare() 和 equals...

    Java 比较接口comparable与comparator区别解析

    Java 语言中提供了两个比较接口: Comparable 和 Comparator,这两个接口都是用于比较对象的大小顺序的,但它们有着不同的使用场景和实现方式。在本文中,我们将详细介绍这两个接口的区别和使用方法。 Comparable ...

    Comparable和Comparator区分1

    Comparable接口是Java中用于对象排序的关键接口,主要应用于需要自动排序的场景。当一个类实现了Comparable接口,意味着该类的对象具备内在的比较逻辑,可以直接进行比较。例如,我们可以创建一个Person类,让它实现...

    Java自然排序Comparable使用方法解析

    Java中的自然排序是指使用Comparable接口来实现对象的排序,通过重写compareTo方法来控制排序结果。Comparable接口是Java中的一个接口,用于定义对象的自然顺序。它只有一个方法compareTo,用于比较两个对象的顺序。...

Global site tag (gtag.js) - Google Analytics