package com.lm;
import org.junit.Test;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class TestLambda9 {
List<Employee> employees = Arrays.asList(
new Employee("张三",18,9999),
new Employee("李四",58,8888),
new Employee("王五",48,7777),
new Employee("赵六",38,6666),
new Employee("田七",38,5555)
);
@Test
public void test1() {
Collections.sort(employees, (e1, e2)->{
if(e1.getAge()== e2.getAge()){
return e1.getName().compareTo(e2.getName());//年龄相等按姓名比
}else{
return Integer.compare(e1.getAge(),e2.getAge());
}
});
for (Employee employee : employees) {
System.out.println(employee.toString());
}
System.out.println("--------------------------");
}
}
package com.lm;
public class Employee {
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
private String name;
private int age;
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 double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
private double salary;
@Override
public String toString() {
return "Employee{" +
"name='" + name + '\'' +
", age=" + age +
", salary=" + salary +
'}';
}
}