欢迎大家加入我的github项目,一起学习,一起发展
---> 全栈工程师进阶学习站
---> 我的前端学习笔记
--->行业内最新最群的报告,工作日每日更新
⭐️Java8中Stream流式方法
Lambda表达式的简单规则
lambda表达式的要求:
1.不改变原数据
2.不在内存中存数据
3.不可重复使用
?stream流
stream流的运行图
功能展示
(0).filter过滤
public static void main(String[] args) { Student s1 = new Student(1L, "张三", 15, "浙江"); Student s2 = new Student(2L, "李四", 15, "湖北"); Student s3 = new Student(3L, "王五", 17, "北京"); Student s4 = new Student(4L, "田七", 17, "浙江"); List<Student> students = new ArrayList<>(); students.add(s1); students.add(s2); students.add(s3); students.add(s4); //筛选年龄大于15岁的学生 List<Student> students1 = students.stream().filter(s -> s.getAge() > 15).collect(Collectors.toList()); System.out.println("筛选年龄大于15岁的学生---------"); students1.stream().forEach(list->{ System.out.println(list); }); //筛选住在浙江省的学生 List<Student> students2 = students.stream().filter(s -> "浙江".equals(s.getAddress())).collect(Collectors.toList()); System.out.println("筛选住在浙江省的学生-----------"); students1.stream().forEach(list->{ System.out.println(list); }); }
(1).Map转换/通过条件生成新的集合
public static void main(String[] args) { Student s1 = new Student(1L, "张三", 15, "浙江"); Student s2 = new Student(2L, "李四", 15, "湖北"); Student s3 = new Student(3L, "王五", 17, "北京"); Student s4 = new Student(4L, "田七", 17, "浙江"); List<Student> students = new ArrayList<>(); students.add(s1); students.add(s2); students.add(s3); students.add(s4); //在地址前面加上部分信息,只获取地址 List<String> lists = students.stream().map(s -> "住址:"