Comparable接口对list的多条件排序
来源:互联网 发布:淘宝卖大牌瑕疵化妆品 编辑:程序博客网 时间:2024/05/17 10:29
- 普通的类要实现排序,必须实现Comparable接口,并重写CompareTo()方法。
package test;public class People implements Comparable<Field> { private String name; private int age; public People() { } public People(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; /** @Override public int compareTo(Object o) { if(!(o instanceof FormControl)) return 0; FormControl lo = (FormControl)o; // 先按group排序 if(lo.getGroup().compareTo(this.group)<0){ return 1; } if(lo.getGroup().compareTo(this.group)>0){ return -1; } if(lo.getSerialNumber() > this.serialNumber) return -1; else if( lo.getSerialNumber() < this.serialNumber) 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) { People f1 = new People("t", 11); People f2 = new People("j", 11); People f3 = new People("t", 11); People f4 = new People("j", 44); List<People> list = new ArrayList<People>(); list.add(f1); list.add(f3); list.add(f4); list.add(f2); Collections.sort(list); for (People o : list) { System.out.println(o.getAge() + "<-->" + o.getName()); } }}
0 0
- Comparable接口对list的多条件排序
- 接口Comparable实现List排序
- List排序 通过Comparable接口进行排序
- 对Comparable接口的困惑!
- java 对ArrayList排序,实现Comparable接口
- java 对ArrayList排序,实现Comparable接口
- 关于Comparable<T>解决List<bean>,依据bean的某个属性对list进行排序
- Java(31):数据结构排序---对接口 Comparable<T> 与 接口 Comparator<T> 的区别理解
- list 排序 实现comparable接口 及 重写compareTo方法
- 排序接口Comparable和Comparator的应用
- Java Comparable接口 类的自然排序
- 浅析Comparable接口和collection的排序
- TreeSet是可以对字符串进行排序 的, 因为字符串已经实现了Comparable接口。
- 字符串、list 排序 comparable
- 实现Comparable接口对树形结构数据进行排序
- 对数组进行冒泡排序,使用comparable接口实现
- Comparable接口排序
- 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: [java] view plain copy /** * 根据ord
- 1073. Scientific Notation (20)
- 分配input port buffers、提取视频文件压缩数据、复制压缩数据到input buffer、H.264硬件解码器开始解码过程分析
- linux 下 libcurl 库的使用
- 《MySQL技术内幕——InnoDB存储引擎》读书笔记(一)——MySQL体系结构和存储引擎
- Python批量替换文本内容
- Comparable接口对list的多条件排序
- 公钥私钥
- React实战-深入源码了解Redux用法之Provider
- java集合面试题
- oracle学习第一天:sql基础之用户
- 日本官网转的
- us_os_Ⅱ笔记
- Openssl 生成文件指令
- Mac端Android studio2.1安装和SDK的配置(2016.9.10)