☀️提高生产力:这10个Lambda表达式必须掌握!!!

1.使用Lambda表达式进行集合遍历

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
for (String fruit : list) {
	System.out.println(fruit);
}

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
list.forEach(fruit->System.out.println(fruit));

2.使用Lambda表达式进行排序

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
Collections.sort(list,new Comparator(){
	public int compare(String s1,String s2){
		return s1.copmpare(s2);
	}
})

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
Collections.sort(list,(s1,s2)->s1.compare(s2);

3.使用Lambda 表达式进行过滤

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
List filteredList=new ArrayList();
for(String fruit : list){
	if(fruit.startsWith("a")){
		filteredList.add(fruit);
	}
}

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
List filteredList=list.stream().filter(fruit->fruit.startsWith("a))
					.collect(Collectors.toList());

4.使用Lambda表达式进行映射

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
List lengths=new ArrayList();
for(String fruit:list){
	lengths.add(fruit.length);
}

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
List<String> lengths=list.stream().map(fruit->fruit.length())
					.collect(Collectors.toList());

5.使用Lambda表达式进行归约

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
int sum=0;
for(int i :list){
	sum+=i;
}

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
int sum=list.stram().reduce(0,(a,b)->a+b);

6.使用Lambda表达式进行分组

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
Map<Integer,List<String>> grouped=new Hahmap<>();
for(String fruit :list){
	int length=fruit.length();
	if(!grouped.containsKey(length)){
		grouped.put(length,new ArrayList<String>());
	}
	grouped.get(length).add(fruit);
}

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
Map<Integer,List<String>> grouped=list.stram()
							.collect(Collectors.groupingBy(fruit->fruit.length()));

7.使用Lambda表达式进行函数式接口的实现

❌ 未使用Lambda表达式:

java 复制代码
public interface MyInterface{
	public void doSomething(String fruit);
}

MyInterface  myObject=new MyInterface(){
	public void doSomething(String input){
		System.out.doSomething(input);
	}
};
myObject.doSomething("Hello World");

✅使用Lambda表达式:

java 复制代码
MyInterface myObject=input->System.out.println(input);
myObject.doSomething("Hello world");

8.使用Lambda表达式进行线程的创建

❌ 未使用Lambda表达式:

java 复制代码
Thread thread=new Thread(new Runnable(){\
	puhlic void run(){
		System.out.println("Thread is Running");
	}
});
thread.start();

✅使用Lambda表达式:

java 复制代码
Thread thread=new Thread(()->System.out.println("Thread is Running."));
thread.start();

9.使用Lambda表达式进行Optional的操作

❌ 未使用Lambda表达式:

java 复制代码
String str="Hello World";
if(str!=null){
	System.out.println(str.toUppercase());
}

✅使用Lambda表达式:

java 复制代码
Optional str=Optional.ofNullable("Hello World");
str.map(String::toUppercase).ifPresent(System.out.println);

10.使用Lambda表达式进行Stream的流水线操作

❌ 未使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
List<String> filteredList=new ArrayList<>();
for(String fruit:list){
	if(fruit.startWith("a")){
		filteredList.add(fruit.toUppercase());
	}
}
Collections.sort(filteredList);

✅使用Lambda表达式:

java 复制代码
List list = Arrays.aslist("apple", "banana", "orange");
List<String> filteredList=list.stram().filter(fruit->fruit.startsWith("a"))
.map(String::toUppercase)
.sorted().Collect(Collectors.toList);
相关推荐
腾渊信息科技公司36 分钟前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求
爱笑的源码基地2 小时前
高并发 Redis 缓存门诊HIS系统源码,含财务统计药房进销存
java·程序·门诊系统·诊所系统·云诊所源码
莫逸风4 小时前
【AgentScope 2.0】 0. 学习指南
java·llm·agent·agentscope
z123456789865 小时前
2026最新两款AI编程工具深度对比实测
java·数据库·ai编程
yaoxin5211235 小时前
470. Java 反射 - Member 接口与 AccessFlag
java·开发语言·python
做个文艺程序员6 小时前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus
小钻风33666 小时前
Spring Boot 文件上传详解:深入理解 MultipartFile 的使用与原理
java·开发语言
其美杰布-富贵-李6 小时前
Spring Boot 工程开发全流程说明
java·spring boot·后端
前端双越老师8 小时前
如何以前端视角(非0基础)学 Java ?
java·node.js·全栈
dear_bi_MyOnly8 小时前
【SpringBoot配置文件】
java·spring boot·后端·学习·spring·java-ee·学习方法