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());
}
}
}

最新文章

  1. redis 常用命令
  2. libevent源码分析:http-server例子
  3. window.showModalDialog的简单实践
  4. Windows Server 2012 克隆修改SID
  5. iOS 开启data protection 的方法
  6. DataGridView key points
  7. Git 基础学习篇(应用-windows篇)
  8. HTML5边玩边学(1)画布实现方法
  9. 《CSS那些事儿》读书笔记
  10. android离线下载的相关知识
  11. phpcmsV9于基本介绍
  12. 关于keil5使用注意事项(预定义、路径包含)
  13. 每天学点SpringCloud(七):路由器和过滤器-Zuul
  14. js取最大最小值
  15. 每天一个linux命令(3):ls命令
  16. Android VLC播放器二次开发3——音乐播放(歌曲列表+歌词同步滚动)
  17. E - 追求
  18. 本地数据库导入线上服务器的mongodb中
  19. Git的gitattributes文件详解
  20. [UI] Pull menu interaction concept - 下拉菜单交互

热门文章

  1. 解决Android无法正常https://dl.google.com/dl/android/maven2/com/的办法
  2. 并发编程-Java内存模型
  3. beautifulsoap常用取节点方法
  4. MySQL常见内存不足启动失败的完美解决方法
  5. luoguP1739 表达式括号匹配 x
  6. codevs 1464 装箱问题 2 x
  7. python随机生成库faker库api详解
  8. 两篇将rf和boosting方法用在搜索排序上的paper
  9. SpringBoot的文件上传&amp;下载
  10. python:科学计数法转化为浮点型数据