comparable接口和comparator接口
程序员文章站
2022-07-02 11:19:12
comparable 接口和 comparator 接口实现比较的区别和用法1.定义 Comparable 接口:使用 Array 或 Collection 的排序方法时,自定义类需要实现 Java 提供 Comparable 接口的 compareTo(TOBJ)方法,它被排序方法所使用,应该重写这个方 法,如果“this”对象比传递的对象参数更小、相等或更大时,它返回一个负整数、0 或正整 数。 使用 Comparator 接口的情景:在大多数实际情况下,我们想根据不同参数进行排序。比如, 作为...
comparable 接口和 comparator 接口实现比较的区别和用法
1.定义
Comparable 接口:使用 Array 或 Collection 的排序方法时,自定义类需要实现 Java 提供 Comparable 接口的 compareTo(TOBJ)方法,它被排序方法所使用,应该重写这个方 法,如果“this”对象比传递的对象参数更小、相等或更大时,它返回一个负整数、0 或正整 数。 使用 Comparator 接口的情景:在大多数实际情况下,我们想根据不同参数进行排序。比如, 作为一个 CEO,我想对雇员基于薪资进行排序,一个 HR 想基于年龄对他们进行排序。这 就是我们需要使用 Comparator 接口的情景。因为 Comparable.compareTo(Object o)方法 实现只能基于一个字段进行排序,不能根据需要选择对象字段来对对象进行排序。 Comparator 接口:可以实现两个对象的特定字段的比较(比如,比较员工这个对象的年龄), 该接口的 compare(Objecto1, Object o2)方法的实现需要传递两个对象参数,若第一个参 数小于、等于、大于第二个参数,返回负整数、0、正整数。
2. comparable 接口和 comparator 接口区别
Comparable和Comparator接口被用来对对象集合或者数组进行排序。 Comparable接口被用来提供对象的自然排序,可使用它来提供基于单个逻 辑的排序。 Comparator接口被用来提供不同的排序算法,可根据制定字段选择需要使 用的Comparator来对指定的对象集合进行排序。
本文地址:https://blog.csdn.net/xxxxxwwwwww/article/details/109265072