点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!
函数式接口 Lambda表达式 Stream流
函数式接口
@FunctionalInterface
interface LogPrinter {
void printLog(String message);
}
public class FunctionalInterfaceDemo {
public static void main(String[] args) {
LogPrinter printer = message ->System.out.println("Logging: " + message);
printer.printLog("This is a log message");
}
}
Lambda表达式
import java.util.Arrays;
import java.util.List;
import java.util.Comparator;
public class LambdaExpressionDemo {
public static void main(String[] args) {
List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");
//使用Lambda表达式实现Comparator接口对列表进行排序
names.sort(Comparator.comparing(String::length));
//打印排序后的列表
names.forEach(System.out::println);
}
}
Stream流
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class StreamDemo {
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
//使用Stream API过滤出偶数并计算它们的总和
int sumOfEvens = numbers.stream()
.filter(n -> n % 2 == 0) //过滤出偶数
.mapToInt(Integer::intValue) //转换为原始类型流以提高效率
.sum(); //计算总和
//打印结果
System.out.println("Sum of evens: " + sumOfEvens);
//使用Stream API收集满足条件的元素到新的集合中
List<Integer> filteredNumbers = numbers.stream()
.filter(n -> n > 5) //过滤出大于5的数
.collect(Collectors.toList()); //收集到新的List中
//打印过滤后的集合
filteredNumbers.forEach(System.out::println);
}
}

本文作者:颜沛东(上海新炬中北团队)
本文来源:“IT那活儿”公众号





