package lambda;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.junit.Test;
public class TestFunction {
/**
* lambda表达式计算求和
*/
@Test
public void Test() {
MyFunction mf=(x)->++x;
int m=mf.getAdd(3);
System.out.println("m===="+m);
}
/**
* lambda表达式计算求和
*/
@Test
public void Test2() {
int sum=getSum(2,(e)->e+=1);
System.out.println("sum==="+sum);
}
/**
* 计算方法
* @param m
* @param mf
* @return
*/
private Integer getSum(int m,MyFunction mf) {
return mf.getAdd(m);
}
/**
* 按年龄和名字排序
*/
@Test
public void test3() {
List<Employee>list=new ArrayList<Employee>();
list.add(new Employee(12,"张三",500));
list.add(new Employee(11,"李四",500));
list.add(new Employee(110,"王五",500));
list.add(new Employee(15,"赵琦",500));
Collections.sort(list,(x,y)->{
if(x.getAge()==y.getAge()) {
return x.getName().compareTo(y.getName());
}else {
return Integer.compare(x.getAge(), y.getAge());
}
});
for(Employee em:list) {
System.out.println("em==="+em);
}
}
}