白菜之comparable的用法
2016-07-21 14:57
429 查看
package com.example.eleven; /** * @author Administrator 公共类Employee首先实现接口Comparable * 然后建立本类带参数构造函数,重载toString和compareTo方法 */ public class Employee implements Comparable<Employee> { private String name; private int id; private String count; public Employee(int id, String name, String count) { this.count = count; this.id = id; this.name = name; } @Override public String toString() { StringBuilder aa = new StringBuilder(); aa.append(id); aa.append(name); aa.append(count); return aa.toString(); } <span style="color:#ff0000;">@Override public int compareTo(Employee x) { if (this.count.compareTo(x.count) > 0) {//如果是int型对比,那么直接this.id>x.id--->return 1; return -1;//这里如果写return 1;下面改成return -1,那么就是从小到大排列,这里是从大到小顺序排列 } else if (this.count.compareTo(x.count) < 0) { return 1; } return 0; </span> } }
package com.example.eleven; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** <span style="color:#ff6666;">* java中Comparable接口,任何实现此接口的类,都可以按照自己的意愿来实现对一组数据的排列 * 这里需要指出的是,任何实现Comparable<T>的类,都需要重写比较方法compareTo()。 * 在compareTo()里面可以根据数据的id进行比较,或者按照Sting的首字母进行比较, * 虽然最后返回的int值只有正数,负数,0,但是可以调整比较参数来调整从大到小还是从小到大顺序排序,刁刁滴! * 然后在调用类中实现collections.sort();方法就可以了,如果是保存在数组中,那么使用Array.sort()就可以了。 </span> */ public class Test { public static void main(String[] args) { List<Employee> list = new ArrayList<Employee>(); list.add(new Employee(2, "东方", "A")); list.add(new Employee(25, "西方", "D")); list.add(new Employee(45, "南方", "W")); list.add(new Employee(15, "北方", "B")); list.add(new Employee(5, "东方", "S")); System.out.println("下面看是对比两种情况的数据排列!=-----------"); for (Employee x : list) { System.out.println(x); } System.out.println("下面是用sort方法排列的,从小到大顺序进行排列=-----------"); <span style="color:#ff0000;">Collections.sort(list); </span> for (Employee y : list) { System.out.println(y); } } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树