实现Comparable接口

1、  要求修改实验三自定义的Employee类,使其实现Comparable接口;

定义ReportCard类,在其中定义一员工对象的集合,并按员工姓名的字母排序返回员工姓名和薪水的报表;

定义EmployeeTest类,通过在其中编写测试代码,验证员工集合中的员工按姓名字母排序输出; 

 

 

import java.util.*;

class Employee implements Comparable<Employee> {

    private String name;
    private float salary;
    private int id;
    private int nextId;     
 

    Employee(String name,float salary,int id,int nextId){
  this.name=name;
  this.salary=salary;
  this.id=id;
  this.nextId=nextId;
    }
   
    String getName(){
     return name;
    }
   
    float getSalary(){
  return salary;
    }
   
    int getId(){
     return id;
    }
   
    int getNextId(){
     return nextId;
    }
   
    public int compareTo(Employee emp){
     return this.getName().compareTo(emp.getName());
    } 
}

class ReportCard {

 ArrayList<Employee> employees = new ArrayList<Employee>();
  
 void addEmployee(Employee emp){
     employees.add(emp);
 }

  

 String getInfo(){ 
  StringBuilder buff =new StringBuilder(); 
  Collections.sort(employees);
     for (Employee emp:employees)
      buff.append(
         emp.getName() + "  "+
         emp.getSalary() +"  "+
         "/n-----------------------/n");
     return buff.toString();
    }
}

class EmployeeTest{

 public static void main(String[] args){
  
  ReportCard reportcard=new ReportCard();
    
  Employee emp1=new Employee("zzhen",1500,1001,1002);  
  Employee emp2=new Employee("asdfg",2000,1002,1003);  
  Employee emp3=new Employee("htygd",2500,1003,1008);    
    
  reportcard.addEmployee(emp1);
  reportcard.addEmployee(emp2);
  reportcard.addEmployee(emp3);
  
  System.out.print(reportcard.getInfo());
 }
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值