当前位置: 代码网 > it编程>编程语言>Java > java comparable接口怎么用?内部比较器用法详解

java comparable接口怎么用?内部比较器用法详解

2026年08月03日 Java 我要评论
java.lang.comparable是内部比较器,用于给自定义类设定默认排序规则,让该类对象可直接被 collections.sort()、arrays.sort() 自动排序一、接口码源publ

java.lang.comparable是内部比较器,用于给自定义类设定默认排序规则,让该类对象可直接被 collections.sort()arrays.sort() 自动排序

一、接口码源

public interface comparable<t>{
    int comparableto(t o);
}

(1)仅含一个抽象类,必须重写。

(2)返回值规则

  • 返回 负数this 排在 o 前面
  • 返回 0:两个对象视为相等,顺序不变
  • 返回 正数this 排在 o 后面

二、用法

  • 自定义类实现接口:public class 类名 implements comparable<类名>
  • 重写唯一方法 compareto(同类对象)
  • 存入 list 集合,调用collections.sort(集合)自动排序

三、常见的排序方法

(1)数值字段排序

1.升序

@override
public int compareto(ship o) {
    return this.id - o.id;
}

2.降序

return o.id - this.id;

(2)字符串字段排序

// 名字字典序升序
return this.name.compareto(o.name);

不能直接相减,调用字符串自带的比较方法

四、与comparator的简单区分

  • comparable:内部比较器,写死在实体类,默认排序
  • comparator:外部比较器,临时定义,不修改实体类

五、总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com