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)); }