Java的Comparable接口
2024-08-31 19:08:03
Comparable接口提供比较对象大小功能,实现了此接口的类的对象比较大小将通过接口提供的compareTo方法。
此方法的返回int类型,分三种情况。
- 返回正数,当前对象大于目标对象
- 返回负数,当前对象小于目标对象
- 返回0,当前对象等于目标对象
TreeSet提供了将对象排序功能(默认升序排序),如果存储容器的是自定义类,那此类将要实现Comparable功能以供TreeSet进行对象大小比较时使用,否则将报错。
public class TestCompareTo implements Comparable<TestCompareTo> {
private Integer a = null; public TestCompareTo(Integer a) {
this.a = a;
} public Integer getA() {
return a;
} @Override
public int compareTo(TestCompareTo o) {
return this.a > o.a ? -1 : (this.a == o.a ? 0 : 1);
} }
public class Test{
public static void main(String[] args) {
//test TreeSet
Set<TestCompareTo> set = new TreeSet<>();
set.add(new TestCompareTo(-10));
set.add(new TestCompareTo(-20));
set.add(new TestCompareTo(-30));
set.add(new TestCompareTo(0));
set.add(new TestCompareTo(10));
set.add(new TestCompareTo(-100));
Iterator iterator = set.iterator();
while(iterator.hasNext()){
TestCompareTo tmp = (TestCompareTo) iterator.next();
System.out.println(tmp.getA());
}
}
}
最新文章
- redis 常用命令
- libevent源码分析:http-server例子
- window.showModalDialog的简单实践
- Windows Server 2012 克隆修改SID
- iOS 开启data protection 的方法
- DataGridView key points
- Git 基础学习篇(应用-windows篇)
- HTML5边玩边学(1)画布实现方法
- 《CSS那些事儿》读书笔记
- android离线下载的相关知识
- phpcmsV9于基本介绍
- 关于keil5使用注意事项(预定义、路径包含)
- 每天学点SpringCloud(七):路由器和过滤器-Zuul
- js取最大最小值
- 每天一个linux命令(3):ls命令
- Android VLC播放器二次开发3——音乐播放(歌曲列表+歌词同步滚动)
- E - 追求
- 本地数据库导入线上服务器的mongodb中
- Git的gitattributes文件详解
- [UI] Pull menu interaction concept - 下拉菜单交互
热门文章
- 解决Android无法正常https://dl.google.com/dl/android/maven2/com/的办法
- 并发编程-Java内存模型
- beautifulsoap常用取节点方法
- MySQL常见内存不足启动失败的完美解决方法
- luoguP1739 表达式括号匹配 x
- codevs 1464 装箱问题 2 x
- python随机生成库faker库api详解
- 两篇将rf和boosting方法用在搜索排序上的paper
- SpringBoot的文件上传&;下载
- python:科学计数法转化为浮点型数据