针对list里对象属性的排序问题
来源:互联网 发布:天津关键字优化公司 编辑:程序博客网 时间:2024/05/16 04:59
public class Customer{
private String name;
private int age;
private int lev;
private Date inTime;
public Customer(String name, int age, int lev, Date inTime) {
super();
this.name = name;
this.age = age;
this.lev = lev;
this.inTime = inTime;
}
public Customer() {
super();
}
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;
}
public int getLev() {
return lev;
}
public void setLev(int lev) {
this.lev = lev;
}
public Date getInTime() {
return inTime;
}
public void setInTime(Date inTime) {
this.inTime = inTime;
}
}
import java.util.Comparator;
public class ComparatorCus implements Comparator {
@Override
public int compare(Object o1, Object o2) {
Customer cus1 = (Customer)o1;
Customer cus2 = (Customer)o2;
//排序的优先级是等级、再是时间
int flag = cus1.getLev()-cus2.getLev(); //若不是int类型,可以这样比较int flag = cus1.getLev().compareTo(cus2.getLev());
if(flag==0){//等级相等
return (cus1.getInTime().after(cus2.getInTime()))==true?1:-1;
}else{
return flag;
}
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public class SortCusTest {
public static void main(String[] args) throws Exception {
List<Customer> list = new ArrayList<Customer>();
SimpleDateFormat formater= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
list.add(new Customer("zhang",20,1,formater.parse("2015-3-23 10:10:00")));
list.add(new Customer("wang",22,2,formater.parse("2015-3-23 10:10:10")));
list.add(new Customer("li",19,2,formater.parse("2015-3-23 10:10:05")));
list.add(new Customer("zhao",30,1,formater.parse("2015-3-23 10:10:08")));
list.add(new Customer("chang",20,2,formater.parse("2015-3-23 10:10:15")));
ComparatorCus copm = new ComparatorCus();
Collections.sort(list, copm);
for(Customer c:list){
System.out.println("Name:"+c.getName()+", Lev:"+c.getLev()+", Date:"+formater.format(c.getInTime()));
}
}
}
结果:
Name:zhang, Lev:1, Date:2015-03-23 10:10:00
Name:zhao, Lev:1, Date:2015-03-23 10:10:08
Name:li, Lev:2, Date:2015-03-23 10:10:05
Name:wang, Lev:2, Date:2015-03-23 10:10:10
Name:chang, Lev:2, Date:2015-03-23 10:10:15
- 针对list里对象属性的排序问题
- 将java.util.list里的对象按照对象的某一属性排序
- 用LIST里的属性排序
- 关于 List 里自定义对象的排序
- ArrayList里的对象按照属性排序
- List 对象属性排序
- 自定义对象里面的 针对 某个属性 / 字段 进行排序
- ComparatorChain对List对象的属性排序
- 按照list中对象的属性排序
- List 根据对象的属性自定义排序
- hashTable 排序,和list里的对象排序
- List<Object>根据Object里的2个属性排序
- 对List里的对象元素进行排序
- 对List里的对象元素进行排序
- 对List里的对象元素进行排序
- List中对象model的排序问题
- List对象排序 遇到的问题
- list根据保存的对象的属性排序
- 用汇编实现浮点数的乘法运算---FPU
- C# partial 详解
- hibernate hbm property access属性
- Oracle中group by子句中cube的使用
- 2016之handler机制
- 针对list里对象属性的排序问题
- 浅谈midi与cocos的交互
- 【Hibernate】映射关系总结
- 文章标题
- 【LeetCode-74】Search a 2D Matrix
- java 的小问题 多人打水
- 网易实习,任意n个数组合求最大
- 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
- 用 xib / Storyboard 创建 UITableView 的 header 和 footer