java学习笔记:利用TreeSet排序时Comparator接口和Comparable接口
来源:互联网 发布:免费书籍阅读软件 编辑:程序博客网 时间:2024/05/18 00:07
在Comparable接口中定义了compareTo方法:
public interface Comparable<T>{int compareTo(T other);}
在Comparator接口中,同样定义了compare方法:
public interface Comparator<T>{int compare(T a,T b);}
两种接口中的比较方法都分别返回负整数、0、正整数。
把元素插入TreeSet时,TreeSet默认实现Comparable接口中的compareTo方法进行排序,因此,可以通过重写comepareTo()方法控件TreeSet的排序方法。除此之外,通过实现Comparator接口,重写compare()方法可以实现同样功能。
以学生成绩排序为例子,以TreeSet存放学生信息,根据成绩自动排序。
但是,根据实际情况,当出现两个学生成绩相同时,TreeSet只保留了其中一个学生,而另一个学生的信息由丢失了,因此,在重写compare() 和compareTo()时要注意。完整代码如下:
1、Comparator接口
2、Comparable接口
两者比较,Comparable接口有一定局限,每个方法只能实现一次接口,当需求改变,如按年龄排序时,要回到Student类中修改CompareTo()方法,违背面向对象思想
0 0
- java学习笔记:利用TreeSet排序时Comparator接口和Comparable接口
- JAVA学习笔记(二十三)-Comparable接口和Comparator接口
- Java SE TreeSet(实现Comparable接口和Comparator匿名类)根据属性排序示例
- Java Comparable排序接口和Comparator比较器接口
- java的comparable接口和comparator接口
- Java中comparable和comparator接口的排序原理
- java排序和Comparable,Comparator两个接口区别
- java用Comparable和Comparator接口进行排序
- Comparator和Comparable接口
- Comparable 和 Comparator接口
- Comparable和Comparator接口
- Comparator和Comparable接口
- Comparable和Comparator接口
- Comparable和Comparator接口
- 排序接口Comparable和Comparator的应用
- Comparable接口和Comparator接口
- Comparable接口和Comparator接口
- Comparable接口和Comparator接口
- C#中的i++和++i
- 数字三角形
- Word Search II
- volley学习笔记(四):Android利用Volley异步加载数据(JSON和图片)完整示例
- 原码、反码、补码
- java学习笔记:利用TreeSet排序时Comparator接口和Comparable接口
- muduo::EventLoop分析
- 关于AR学院
- Swift入门(七)——结构体(Struct)
- hdu-4348-To the moon-主席树在线区间更新
- 应用限流接入手册
- 微信HTML5页面设计建议
- 问题:浮动影响<a>标签点击?
- 如此抄袭Apps之OscHub(二)