继往开来 吐故纳新
日历
网志分类
· 所有网志 (1032)
· 个人作品 (64)
· 软件设计 (33)
· 面向对象编程 (22)
· JavaAPI (44)
· Java开源工具 (36)
· Swing (34)
· Java语法细节 (39)
· 样式表CSS (12)
· XML (9)
· J2EE(JavaEE) (25)
· 算法数据结构 (64)
· 正则表达式 (4)
· 软件知识 (6)
· Java线程 (9)
· Web开发.Jsp/Servlet/Struts (20)
· 程序随想录 (7)
· Hibernate (7)
· Spring (5)
· J2SE 高级 (2)
· J2SE 高级 (0)
· Web开发.Ajax (16)
· Web开发.JavaScript (48)
· DB4O (2)
· Web开发.CSS/Html (22)
· C# (20)
· ERP (4)
· JDBC (1)
· 编程资源 (16)
· 编程感悟 (29)
· DB/Sql (13)
· VB (29)
· VC (2)
· 桌面脚本 (3)
· 新兴软件 (3)
· 英语学习 (21)
· 网文转载 (164)
· 职场风云 (40)
· 诗词歌赋 (32)
· 生活感言 (79)
· 生活常识 (2)
· 奇文共赏 (14)
· 财经纵横 (11)
· 未分类 (19)
站内搜索
友情链接
· 歪酷博客
· 我的歪酷 非非共享界
· 偶要雷锋
· 豆瓣
· nczonline
· 当当网
· easyjf中文站
· Donews
· 天极Java文章列表
· W3CSchool
· taiten的BLOG
· Dojo中国
· Dojo
· Extjs.com
· Lifehack中文网志
· JaveEye的一个AS专题
· Banq's JDon
· Java 中文网址大全
· 梦想Java
· 360Doc个人图书馆
· java开源大全
· 我在硅谷动力的软件下载站
· 站长中国
· 随意贴
· CSS教学素材站
· java 参考中文站
· 面向构件与SOA社区
· 彩字生成
· 派派小说论坛
· 如坐春风
· 英语学习网
· BBC CHina
· www.dlbang.com
· 古文竖排格式在线转化工具
· 免费家谱
· 图片上传基地
· 风景壁纸
· 和风细雨
· MyC#BlogInCsdn

订阅 RSS

0289168

歪酷博客

开此博一为经验积累,二为资料收集,三为同道交流,四为资源共享.
« 上一篇: [原创]八皇后回溯版 下一篇: [原创]日期时间处理实用类 »
Junglesong @ 2008-07-18 11:06

Comparator的具体实现类
public class AgeComparator implements Comparator {
  
public int compare(Object op1, Object op2) {
    Employee eOp1 
= (Employee) op1;
    Employee eOp2 
= (Employee) op2;

    
// 按年龄排序
    return eOp1.getAge()-(eOp2.getAge());
  }

}


public class NameComparator implements Comparator {
  
public int compare(Object op1, Object op2) {
    Employee eOp1 
= (Employee) op1;
    Employee eOp2 
= (Employee) op2;

    
// 按姓名排序
    return eOp1.getName().compareTo(eOp2.getName());
  }

}


public class SalaryComparator implements Comparator {
  
public int compare(Object op1, Object op2) {
    Employee eOp1 
= (Employee) op1;
    Employee eOp2 
= (Employee) op2;

    
// 按薪水排序
    return eOp1.getSalary()-(eOp2.getSalary());
  }

}


Employee类:

public class Employee{
  
protected String name;
  
protected int age;
  
protected int salary;
  
  
public Employee(String name,int age,int salary){
    
this.name=name;
    
this.age=age;
    
this.salary=salary;
  }

  
  
public int getAge() {
    
return age;
  }

  
public void setAge(int age) {
    
this.age = age;
  }

  
public String getName() {
    
return name;
  }

  
public void setName(String name) {
    
this.name = name;
  }

  
public int getSalary() {
    
return salary;
  }

  
public void setSalary(int salary) {
    
this.salary = salary;
  }
 
}


测试:
public class Main{
  
public static void main(String[] args){
    List
<Employee> employees=new ArrayList<Employee>();
    
    employees.add(
new Employee("Andy",21,2000));
    employees.add(
new Employee("Felix",21,3000));
    employees.add(
new Employee("Bill",35,20000));
    employees.add(
new Employee("Helen",21,10000));
    employees.add(
new Employee("Cindy",28,8000));
    employees.add(
new Employee("Douglas",25,5000));
        
    
// 按名称排序
      Collections.sort(employees,new NameComparator());
      display(employees);

      
// 按年龄排序
      Collections.sort(employees,new AgeComparator());
      display(employees);
      
      
// 按薪水排序
      Collections.sort(employees,new SalaryComparator());
      display(employees);
  }

  
  
public static void display(List<Employee> employees){
    
for(Employee e:employees){
      System.out.println(
"雇员名="+e.getName()+" 年龄="+e.age+" 薪水="+e.getSalary());
    }

    
    System.out.println();
  }

}


输出:
雇员名=Andy 年龄=21 薪水=2000
雇员名
=Bill 年龄=35 薪水=20000
雇员名
=Cindy 年龄=28 薪水=8000
雇员名
=Douglas 年龄=25 薪水=5000
雇员名
=Felix 年龄=21 薪水=3000
雇员名
=Helen 年龄=21 薪水=10000

雇员名
=Andy 年龄=21 薪水=2000
雇员名
=Felix 年龄=21 薪水=3000
雇员名
=Helen 年龄=21 薪水=10000
雇员名
=Douglas 年龄=25 薪水=5000
雇员名
=Cindy 年龄=28 薪水=8000
雇员名
=Bill 年龄=35 薪水=20000

雇员名
=Andy 年龄=21 薪水=2000
雇员名
=Felix 年龄=21 薪水=3000
雇员名
=Douglas 年龄=25 薪水=5000
雇员名
=Cindy 年龄=28 薪水=8000
雇员名
=Helen 年龄=21 薪水=10000
雇员名
=Bill 年龄=35 薪水=20000



评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定