打字猴:1.700444494e+09
1700444494
1700444495 在Java中,要想给数据排序,有两种实现方式,一种是实现Comparable接口,一种是实现Comparator接口,这两者有什么区别呢?我们来看一个身边的例子,就比如给公司职员排序吧,最经常使用的是按照工号排序,先定义一个职员类代码,如下所示:
1700444496
1700444497 class Employee implements Comparable<Employee>{
1700444498
1700444499 //id是根据进入公司的先后顺序编码的
1700444500
1700444501 private int id;
1700444502
1700444503 //姓名
1700444504
1700444505 private String name;
1700444506
1700444507 //职位
1700444508
1700444509 private Position position;
1700444510
1700444511 public Employee(int_id, String_name, Position_position){
1700444512
1700444513 id=_id;
1700444514
1700444515 name=_name;
1700444516
1700444517 position=_position;
1700444518
1700444519 }
1700444520
1700444521 /*id、name、position的getter/setter方法省略*/
1700444522
1700444523 //按照id号排序,也就是资历的深浅排序
1700444524
1700444525 @Override
1700444526
1700444527 public int compareTo(Employee o){
1700444528
1700444529 return new CompareToBuilder()
1700444530
1700444531 .append(id, o.id).toComparison();
1700444532
1700444533 }
1700444534
1700444535 @Override
1700444536
1700444537 public String toString(){
1700444538
1700444539 return ToStringBuilder.reflectionToString(this);
1700444540
1700444541 }
1700444542
1700444543 }
[ 上一页 ]  [ :1.700444494e+09 ]  [ 下一页 ]