62,614
社区成员
发帖
与我相关
我的任务
分享
TreeSet<Employee> employees = new TreeSet<Employee>(new EmployeeSalaryAscComparator());
这么些,写少了public class Employee {
private String userName;
private int age;
private Double salary;
public Employee(String userName, int age, double salary) {
this.userName = userName;
this.age = age;
this.salary = salary;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder(256);
sb.append("{userName:").append(userName);
sb.append("age:").append(age);
sb.append("salary:").append(salary).append("}");
return sb.toString();
}
// getter、setter方法
..........
}
/**
* 根据工资进行升序的
*
*/
public class EmployeeSalaryAscComparator implements Comparator<Employee> {
@Override
public int compare(Employee o1, Employee o2) {
return o1.getSalary().compareTo(o2.getSalary());
}
}
/**
* 测试
*
*/
public class EmployeeTest {
private static final Log log = LogFactory.getLog(EmployeeTest.class);
@Test
public void test() {
TreeSet<Employee> employees = new TreeSet<>(new EmployeeSalaryAscComparator());
employees.add(new Employee("test3", 24, 42345.67));
employees.add(new Employee("test1", 21, 12345.67));
employees.add(new Employee("test2", 23, 32345.67));
for (Employee employee : employees) {
log.info(employee);
}
}
}
执行结果 :
{userName:test1age:21salary:12345.67}
{userName:test2age:23salary:32345.67}
{userName:test3age:24salary:42345.67}
class Test {
public Test(){
//在这里面赋给变量初值.
}
private String name ;
private int age ;
private double money ;
//set,get自己补充.
}
简单给你敲了一个,其余的自己补充吧,
可以给你个思路:
1.在构造器里面进行初始化,
2.用薪水排序就是:
姓名 年龄 薪水
x 23 2000
y 18 1800
z 21 1700
这样按照薪水的高低排序.最简单的方法,可以用数组对他们进行排序。
刚开始都难,慢慢来吧。。加油!