package com.brendan.cn.java8;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
public class TestMain {
public static void main(String[] args) {
//1创建集合
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Scala");
languages.add("C++");
languages.add("C#");
languages.add("Haskell");
// 删除以“J”开头的语言类型
//languages.removeIf(ele -> ((String) ele).startsWith("J"));
//遍历集合
languages.forEach(n-> System.out.println(n));
//2使用lambda表达式替代匿名内部类
new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();
//3 使用lambda表达式过滤集合中的数据
System.out.println(
filter(languages, (ele) -> {
return ((String) ele).startsWith("J");
}));
languages.stream().filter(ele -> ((String) ele).startsWith("C")).forEach(n-> System.out.println(n));
// 使用lambda表达式
List costBeforeTax = Arrays.asList(100, 200, 300, 400, 500);
costBeforeTax.stream().map((cost) -> (Integer) cost + 0.1 * (Integer) cost);
}
public static int filter(List<String> names, Predicate condition) {
int total = 0;
for (String name : names) {
// 使用Predicate的test()方法判断该对象是否满足Predicate指定的条件
if (condition.test(name)) {
total++;
}
}
return total;
}
}
lambda表达式
最新推荐文章于 2025-05-07 20:30:02 发布