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

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

❌ 未使用Lambda表达式:

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

✅使用Lambda表达式:

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

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

❌ 未使用Lambda表达式:

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

✅使用Lambda表达式:

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

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

❌ 未使用Lambda表达式:

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

✅使用Lambda表达式:

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

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

❌ 未使用Lambda表达式:

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

✅使用Lambda表达式:

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

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

❌ 未使用Lambda表达式:

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

✅使用Lambda表达式:

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

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

❌ 未使用Lambda表达式:

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表达式:

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

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

❌ 未使用Lambda表达式:

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表达式:

MyInterface myObject=input->System.out.println(input);
myObject.doSomething("Hello world");

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

❌ 未使用Lambda表达式:

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

✅使用Lambda表达式:

Thread thread=new Thread(()->System.out.println("Thread is Running."));
thread.start();

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

❌ 未使用Lambda表达式:

String str="Hello World";
if(str!=null){
	System.out.println(str.toUppercase());
}

✅使用Lambda表达式:

Optional str=Optional.ofNullable("Hello World");
str.map(String::toUppercase).ifPresent(System.out.println);

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

❌ 未使用Lambda表达式:

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表达式:

List list = Arrays.aslist("apple", "banana", "orange");
List<String> filteredList=list.stram().filter(fruit->fruit.startsWith("a"))
.map(String::toUppercase)
.sorted().Collect(Collectors.toList);

相关推荐

  1. Lambda 表达式(C++11

    2024-05-13 19:34:06       7 阅读
  2. C++11lambda表达式 & 包装器

    2024-05-13 19:34:06       14 阅读
  3. Lambda表达式

    2024-05-13 19:34:06       28 阅读
  4. Lambda表达式

    2024-05-13 19:34:06       34 阅读

最近更新

  1. git github gitee 三者关系

    2024-05-13 19:34:06       0 阅读
  2. 学习小记-一些Redis小知识

    2024-05-13 19:34:06       1 阅读
  3. 【Spring】springSecurity简介

    2024-05-13 19:34:06       1 阅读

热门阅读

  1. android 蓝牙技术 学习记录 二

    2024-05-13 19:34:06       15 阅读
  2. Python爬取小说

    2024-05-13 19:34:06       12 阅读
  3. android进阶-回调

    2024-05-13 19:34:06       12 阅读
  4. Python 正则表达式(一)

    2024-05-13 19:34:06       11 阅读
  5. KAN网络

    KAN网络

    2024-05-13 19:34:06      12 阅读
  6. 微调大模型学习记录

    2024-05-13 19:34:06       15 阅读
  7. MFC--CCreateContext结构体

    2024-05-13 19:34:06       10 阅读
  8. 三种基本排序-冒泡,选择,二分

    2024-05-13 19:34:06       13 阅读
  9. MySQL中所有数据类型

    2024-05-13 19:34:06       11 阅读
  10. MongoDB聚合运算符:$topN

    2024-05-13 19:34:06       14 阅读