【Java】Stream流、方法引用(Java8)

news/2024/11/16 14:25:22/

Stream流

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

中间方法

在这里插入图片描述

distinct() 使用HashSet去重

终结方法

在这里插入图片描述

toArray()

在这里插入图片描述

value 表示 流中数据的个数,要跟数组的长度保持一致。

collect()

在这里插入图片描述

收集到map中,比较复杂。需要指定 键 和 值 的生成规则。

在这里插入图片描述

方法引用

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

01_引用静态方法

​ 引用类方法,其实就是引用类的静态方法

  • 格式 类名::静态方法

  • 范例 Integer::parseInt

    Integer类的方法:public static int parseInt(String s) 将此String转换为int类型数据

    java">public interface Converter {int convert(String s);}public class ConverterDemo {public static void main(String[] args) {//Lambda写法useConverter(s -> Integer.parseInt(s));//引用类方法useConverter(Integer::parseInt);}private static void useConverter(Converter c) {int number = c.convert("666");System.out.println(number);}
    }
    

在这里插入图片描述

02_引用成员方法

在这里插入图片描述

注意:2、3种中,static里不能引用非静态方法,需要先实例化new一个。

在这里插入图片描述

03_引用构造方法

​ 引用构造器,其实就是引用构造方法

  • l格式 类名::new 范例 Student::new

    java">public class Student {private String name;private int age;}public interface StudentBuilder {Student build(String name,int age);}public class StudentDemo {public static void main(String[] args) {//Lambda简化写法useStudentBuilder((name,age) -> new Student(name,age));//引用构造器useStudentBuilder(Student::new);}private static void useStudentBuilder(StudentBuilder sb) {Student s = sb.build("林青霞", 30);System.out.println(s.getName() + "," + s.getAge());}
    }
    
  • 使用说明 Lambda表达式被构造器替代的时候,它的形式参数全部传递给构造器作为参数

04_使用类名引用成员方法

在这里插入图片描述

在这里插入图片描述

注意:这里并没有满足参数一致!!所以这里的流的类型是String,map中也必须用String的方法!可以按照上面的理解方式。

​ 引用类的实例方法,其实就是引用类中的成员方法

  • 格式 类名::成员方法

  • 使用说明 Lambda表达式被类的实例方法替代的时候, 第一个参数作为调用者,后面的参数全部传递给该方法作为参数

05_引用数组的构造方法

在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/1456093.html

相关文章

leetcode---岛屿数量

. - 力扣(LeetCode) 代码: //岛屿题目的思想:二维矩阵图的DFS就是,上下左右遍历如果是0或者出界的话就return //规定的是陆地上下左右是水的话它就是岛屿。当遍历矩阵图中每一个点, //在调用递归算法之前…

互斥量理论基础

文章目录 一、互斥量理论基础 一、互斥量理论基础 在多任务系统中,任务A正在使用某个资源,还没用完的情况下任务B也来使用的话,就会出问题。这时就需要互斥量(互斥锁),使用过程如下: 互斥量初始…

python操作minio中常见错误

因为我参考minio的文档操作,当时文档并不是很详细,这篇博文会统一记录自己所遇到的问题。以下的每个标题都是具体的错误信息。 minio-py文档 错误1:SSL: WRONG_VERSION_NUMBER 这个错误的原因是在创建minio的客户端时候没有关闭SSL,请使用如…

单目标问题的烟花优化算法求解matlab仿真,对比PSO和GA

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 单目标问题的FW烟花优化算法求解matlab仿真,对比PSO和GA。最后将FW,GA,PSO三种优化算法的优化收敛曲线进行对比。 2.测试软件版本以及运行…

自动驾驶主流芯片及平台架构(二)特斯拉自动驾驶芯片平台介绍

早期 对外采购mobileye EyeQ3 芯片摄像头半集成方案,主要是为了满足快速量产需求,且受制于研发资金不足限制; 中期 采用高算力NVIDIA 芯片平台其他摄像头供应商的特斯拉内部集成方案,mobileye开发节奏无法紧跟特斯拉需求&#xff…

【动态规划】数组中数字和为sum的方案个数

【动态规划】数组中数字和为sum的方案个数 给定一个有 n n n个正整数的数组 a 和一个正整数 s u m sum sum,求选择数组 a 中 部分数字和为 s u m sum sum的方案数。若两种选取方案有一个数字的下标不一样,则认为是不同的方案。 输入描述:…

计算机系列之数据库技术

13、数据库技术(重点、考点) 1、三级模式-两级映像(考点) 内模式:管理如何存储物理的数据,对应具体物理存储文件。 **模式:**又称为概念模式,就是我们通常使用的基本表&#xff0c…

缓存菜品操作

一:问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大。 二:实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: 每个分…