ambda表达式、链式编程、函数式接口、Stream流计算综合
ambda表达式、链式编程、函数式接口、Stream流计算综合
题目要求:一分钟内完成此题,只能用一行代码实现!现在有5个用户!筛选:
1、ID必须是偶数
2、年龄必须大于23岁
3、用户名转为大写字母
4、用户名字母倒着排序
5、只输出一个用户
package StreamA;
import java.util.Arrays;
import java.util.List;
/**题目要求:一分钟内完成此题,只能用一行代码实现!现在有5个用户!筛选:
1、ID必须是偶数
2、年龄必须大于23岁
3、用户名转为大写字母
4、用户名字母倒着排序
5、只输出一个用户
* @author liu
*/
public class Test {
public static void main(String[] args) {
User u1 = new User(1,"a",21);
User u2 = new User(2,"b",22);
User u3 = new User(3,"c",23);
User u4 = new User(4,"d",24);
User u5 = new User(6,"e",25);
User u6 = new User(8,"f",26);
//集合就是存储
List<User>list= Arrays.asList(u1,u2,u3,u4,u5,u6);
//计算交给stream流
//lambda表达式、链式编程、函数式接口、Stream流计算
list.stream()
.filter((a)->{return a.getID()%2==0;})
.filter((a)->{return a.getAge()>23;})
.map((u)->{return u.getName().toUpperCase();})
.sorted((o1,o2)->{return o2.compareTo(o1);})
.limit(1)
.forEach(System.out::println);
}
}
Use属性
package StreamA;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**生成get/set/toString方法
* 无参构造
* 有参构造
* @author liu
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private int ID ;
private String Name;
private int age;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现