普通java类(排序)实现Comparable接口重写CompareTo方法
来源:互联网 发布:数据的收集与整理 编辑:程序博客网 时间:2024/06/10 07:41
普通的类要实现排序,必须实现Comparable接口,并重写CompareTo()方法。
package test;public class Field implements Comparable<Field> { private String name; private int age; public Field() { } public Field(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public int compareTo(Field o) { // 先按age排序 if (this.age > o.getAge()) { return (this.age - o.getAge()); } if (this.age < o.getAge()) { return (this.age - o.getAge()); } // 按name排序 if (this.name.compareTo(o.getName()) > 0) { return 1; } if (this.name.compareTo(o.getName()) < 0) { return -1; } return 0; }}
测试类按照某属性进行排序输出:
package test;import java.util.ArrayList;import java.util.Collections;import java.util.List;public class Test2 { public static void main(String[] args) { Field f1 = new Field("tony", 11); Field f2 = new Field("jack", 11); Field f3 = new Field("tom", 11); Field f4 = new Field("jason", 44); List<Field> list = new ArrayList<Field>(); list.add(f1); list.add(f3); list.add(f4); list.add(f2); Collections.sort(list); for (Field o : list) { System.out.println(o.getAge() + "-->" + o.getName()); } }}
0 0
- 普通java类(排序)实现Comparable接口重写CompareTo方法
- 普通java类(排序)实现Comparable接口重写CompareTo方法
- list 排序 实现comparable接口 及 重写compareTo方法
- java 重写compareTo方法实现类排序
- 关于实现Comparable接口重写compareTo方法报错问题
- Java:对集合中的对象进行排序需要实现Interface Comparable接口并实现int compareTo(T o)方法
- 实现comparable接口,从写compareTo方法对object数组元素进行排序。
- JAVA中用于对象排序的比较器Comparable接口和compareTo()方法
- TreeSet实现Comparable接口覆写compareTo()方法
- java 设计模式 策略模式,comparable 接口,compareTo 方法
- Comparable实现排序功能,重写排序方法
- set集合 HashSet: TreeSet实现Comparable接口,覆盖compareTo方法。 类实现Comparator接口,覆盖compare方法。
- Comparable接口compareTo方法的反对称性
- java排序接口--compareTo
- 实现Comparable接口和Comparator接口,并重写compareTo方法和compare方法
- 重写compareTo方法,按不同方式实现排序,小程序
- compareTo()-Comparable-JAVA方法-JAVA学习
- Java自定义实现Comparable接口的类,实现多维排序
- AutoLayout——何为intrinsic content size
- VMWare中CentOS 6.5_x64迷你版安装(NAT方式)
- 单例模式
- codeforces_600A. Extract Numbers(字符串处理)
- 第二次上机作业
- 普通java类(排序)实现Comparable接口重写CompareTo方法
- 5.Servlet生成多位随机的验证码
- Linux内核协议栈(11)路由系统
- oracle中的char、varchar、varchar2、nvarchar、nvarchar2区别
- 构造MaxTree
- 【转】使用typedef定义函数指针
- 总结二
- Hadoop 2.6.0 HBase 0.98 VMware单机伪分布式式环境搭建(作业用)
- 使用GDB分析core dump文件