遍历集合
package cn.unuuc.java;import java.util.ArrayList;import java.util.function.Consumer;public class TestLambda {public static void main(String[] args) {ArrayList<String> list = new ArrayList<>();list.add("hello");list.add("world");list.add("!");list.forEach(new Consumer<String>() {@Overridepublic void accept(String s) {System.out.println(s);}});list.forEach(s -> System.out.println(s));}}
在 forEach 方法内,其形参为一个 Consumer 函数接口,所以可以通过Lambda来简化代码
集合排序
@Testpublic void test08(){ArrayList<UserEntity> userEntities = new ArrayList<>();userEntities.add(new UserEntity("小明",12));userEntities.add(new UserEntity("小红",22));userEntities.add(new UserEntity("小蓝",13));userEntities.add(new UserEntity("小绿",16));userEntities.add(new UserEntity("小紫",21));userEntities.sort(new Comparator<UserEntity>() {@Overridepublic int compare(UserEntity o1, UserEntity o2) {return o1.getAge()- o2.getAge();}});userEntities.forEach((u)-> System.out.println(u.toString()));// Lambda 实现排序userEntities.sort(((o1, o2) -> o1.getAge()-o2.getAge()));userEntities.forEach((u)-> System.out.println(u.toString()));}
实现线程调用
package cn.unuuc.java;public class Test {public static void main(String[] args) {new Thread(new Runnable() {@Overridepublic void run() {System.out.println(Thread.currentThread().getName());}}).start();// Lambdanew Thread(()-> System.out.println(Thread.currentThread().getName())).start();}}
应为Runnable 为一个函数接口
