Runnable r=()->System.out.println("hello lambda");
这就是个样板lambda编程模版
expression = (variable) -> action
- variable: 这是一个变量,一个占位符。像x,y,z,可以是多个变量;
- action: 逻辑代码部分
也可以包含多个参数
int sum = (x, y) -> x + y;
这里就是用int 类型的sum 来接受x+y的值
这里有几种模型
消费型接口示例
public static void donation(Integer money, Consumer<Integer> consumer){
consumer.accept(money);
}
public static void main(String[] args) {
donation(1000, money -> System.out.println("捐赠了"+money+"元")) ;
}
供给型接口示例
public static List supply(Integer num, Supplier supplier){
List resultList = new ArrayList() ;
for(int x=0;x
public static List<String> filter(List<String> fruit, Predicate<String> predicate){
List<String> f = new ArrayList<>();
for (String s : fruit) {
if(predicate.test(s)){
f.add(s);
}
}
return f;
}
public static void main(String[] args) {
List<String> fruit = Arrays.asList("香蕉", "哈密瓜", "榴莲", "火龙果", "水蜜桃");
List<String> newFruit = filter(fruit, (f) -> f.length() == 2);
System.out.println(newFruit);
}