lambda表达式公司用的还是比较多的,今天特意写一篇博客记录下来,公司经常使用的该lambda表达式的常用表达方式,现在想想,其实这种方式还是比较好的,最起码挺高大上的。
package com.zyq;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 练习使用lamda表达式
*/
public class LamdaTest {
public static void main(String[] args) {
User user1 = new User(1, "a1");
User user2 = new User(2, "a2");
User user3 = new User(3, "a3");
User user4 = new User(4, "a4");
User user5 = new User(5, "a5");
List<User> usersList = new ArrayList<>();
usersList.add(user1);
usersList.add(user2);
usersList.add(user3);
usersList.add(user4);
usersList.add(user5);
//stream:转换成流 filter:过滤 map:要显示的内容
List<String> collect = usersList.stream().filter(user -> user.getId() >= 2).map(user -> user.getName()).collect(Collectors.toList());
//这种写法也是可以的 将要返回的值使用大括号进行包裹,并用return进行返回,这在实际项目中使用的是比较多的。
// List<String> collect = usersList.stream().filter(user -> user.getId() >= 2).map(user -> {return user.getName();}).collect(Collectors.toList());
System.out.println(collect);
}
}
原文:https://www.cnblogs.com/dongyaotou/p/14853314.html