Comparable接口的使用
功能:
Comparable接口可用于对象的排序或者对象的分组
介绍:
Comparable接口强行对实现它的类的每个实例进行自然排序,该接口的唯一方法compareTo方法被称为自然比较方法
方法: int compareTo(Object o)
利用当前对象和传入的目标对象进行比较:
若是当前对象比目标对象大,则返回1,那么当前对象会排在目标对象的后面
若是当前对象比目标对象小,则返回-1,那么当前对象会排在目标对象的后面
若是两个对象相等,则返回0
实例:
import java.util.Arrays; public class User implements Comparable<User> { public int age; public String username; public User(int age, String username) { this.age = age; this.username = username; } @Override public String toString() { return this.username; } @Override public int compareTo(User o) { if(this.age>o.age) { return 1; } else if(this.age<o.age) { return -1; } else { return 0; } } public static void main(String[] args) { User[] arr = new User[3]; arr[0] = new User(15,"user1"); arr[1] = new User(10,"user2"); arr[2] = new User(20,"user3"); System.out.println("排序前:"); System.out.println(Arrays.toString(arr)); Arrays.sort(arr); System.out.println("排序后:"); System.out.println(Arrays.toString(arr)); } }
执行结果:
排序前:
[user1, user2, user3]
排序后:
[user2, user1, user3]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2016-10-07 关于angularjs中路由页面强制更新的问题
2016-10-07 【转载】AngularJS监听路由变化