1.消费型接口的抽象方法有参无返回值Void 例如 Consumer : void accept(T t)
2.供给型接口的抽象方法无参有返回值类型 例如 Supplier : T get()
3.判断型接口的抽象方法有参有返回值类型boolean 例如 Predicate boolean test(T t)
4.功能性接口的抽象方法有参有返回值 例如 Function<T,R> R apply(T t)
接口中抽象方法是无参无返回值类型自己声明就行
1.遍历List集合
ArrayList<String> list = new ArrayList<>();
list.add("小波");
list.add("小啵啵啵");
/**3.当(形参)有参,并且只有一个形参,类型和()都可以省略
* 6. 如果{lambda方法体}中只有一个{return 返回值}语句时,此时{} ; return关键字这三样都可以同时省略
*
* Consumer:消费型接口 void 方法名(T t) 有参无返回值
* lambda表达式的形参列表是(T t),省略就是 一个t
* {lambdat体} 打印
*
*/
list.forEach(t -> System.out.println(t));
2.删除集合
ArrayList<User> userList = new ArrayList<>();
userList.add(new User(1,22,"小肉"));
userList.add(new User(2,80,"小换"));
userList.add(new User(3,22,"小雪"));
/**
* Predicate :判断型接口 boolean xx(T t)
* lambda形参列表:(T t)只有一个,省略类型和括号,一个表达式大括号省略
* lambda体,就一个判断条件,这个判断为true,就删除
*
*/
userList.removeIf(t -> t.getAge()<60);
userList.forEach(t -> System.out.println(t));
lambda形参跟着抽象方法写,表示式中形参调用方法
最重要是表达式只看lambda返回值和参数
3.遍历map
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("兄啊","哥");
hashMap.put("波波","你好撒");
/**
* 消费型接口, void xx(T t, S s);
* 表达式参数:(T t,S s)
*/
hashMap.forEach((T,S) -> System.out.println("你..."+T+"我的"+S));
}