首页 > 其他分享 >day14

day14

时间:2023-03-18 16:44:20浏览次数:37  
标签:接口 day14 实例 参数 方法 表达式 Lambda

day14

数组排序

如果数组中存储的是对象,如何进行排序?

方式一:让该对象的类实现Comparable(比较规则)接口,然后重写compareTo方法,自己制定比较规则

方式二:使用的是comparetor接口,重写compare方法——两个参数

Lambda表达式

作用:用于简化匿名内部类代码的书写。

Lambda表达式使用的前提条件:父类必须是接口并且接口中只能有一个抽象方法(函数式接口:有且仅有一个抽象方法的接口)

怎么去简化呢?Lamdba是有特有的格式的,按照下面的格式来编写Lamdba。

(被重写方法的形参列表) -> {
    被重写方法的方法体代码;
}

需要给说明一下的是,在使用Lambda表达式之前,必须先有一个接口,而且接口中只能有一个抽象方法。(注意:不能是抽象类,只能是接口)

像这样的接口,我们称之为函数式接口,只有基于函数式接口的匿名内部类才能被Lambda表达式简化。

Lambda简化规则:

如果参数列表为空或者只有一个参数,可以省略括号。

如果表达式只有一条语句,可以省略大括号和分号。

如果表达式只有一条语句,可以省略return关键字。

静态方法的引用

  • 类名::静态方法
  • 如果某个Lambda表达式里只是调用一个静态方法,并且前后参数的形式一致,就可以使用静态方法引用

实例方法的引用

  • 对象名::实例方法
  • 如果某个Lambda表达式里知识调用一个实例方法,并且前后参数的形式一致,就可以使用实例方法

特定类型的方法引用

  • 类型::方法

  • 如果某个Lambda表达式里只是调用一个实例方法,并且前面参数列表中的第一个参数是作为方法的主调,后面的所有参数都是作为该实例方法的入参的,则此时就可以使用特定类型的方法引用

构造器引用

  • 类名::new
  • 如果某个Lambda表达式里只是在创建对象,并且前后参数情况一致,就可以使用构造器引用

标签:接口,day14,实例,参数,方法,表达式,Lambda
From: https://www.cnblogs.com/xkh-blogs/p/17231093.html

相关文章

  • day14
    day14数组排序如果数组中存储的是对象,如何进行排序?方式一:让该对象的类实现Comparable(比较规则)接口,然后重写compareTo方法,自己制定比较规则方式二:使用的是comparetor接......
  • Linux & 标准C语言学习 <DAY14>
    一、头文件  头文件可能会被任意源文件包含,意味着头文件中的内容可能会在多个目标文件中存在,要保证合并时不要冲突  重点:头文件只编写声明语句,不能有定义语句......
  • day14(2023.3.14)
    飞机大战小游戏:1.MyGameFrame类(程序的入口) 2.GameObject(游戏物体的根类) 3.GameUtil(工具类) 4.Plane(飞机类)  5.Shell(炮弹类) 6.Explode(爆炸......
  • day14 打卡二叉树的递归遍历 迭代遍历 统一迭代
    day14打卡二叉树的递归遍历迭代遍历统一迭代144.二叉树的前序遍历144题目链接1.递归遍历classSolution{publicList<Integer>preorderTraversal(TreeNode......
  • HTML——day14
    图像滚动:        /*        背景图片滚动或固定:        语法:        background-attachment: fixed || scroll;固定或滚动  ......
  • 02_14_Java语音进阶||day14_Java基础小节练习(1-4部分)Collection集合、File类&递归&F
    第一部分Collection集合1.1请简述集合框架解答:集合按照其存储结构可以分为两大类,分别是单列集合java.util.Collection和双列集合java.util.Map。Collection:单列集合类......
  • 【YBT2023寒假Day14 C】字符串题(SAM)(树链剖分)(线段树)
    字符串题题目链接:YBT2023寒假Day14C题目大意对于一个字符串S定义F(S)是fail树上除了0点其它点的深度和。G(S)是S每个子串S'的F(S')之和。然后一个空......
  • 【YBT2023寒假Day14 B】二进制数(数位DP)(数学)
    二进制数题目链接:YBT2023寒假Day14B题目大意问你[A,B]之间有多少个整数,满足它二进制表示下(不要前导0)子串00,01,10,11个数分别是a,b,c,d。其中A,B<=2^{100000},a......
  • 【YBT2023寒假Day14 A】切割蛋糕(计算几何)
    切割蛋糕题目链接:YBT2023寒假Day14A题目大意给你一个圆,圆心在原点,每次有一条直线,切掉圆中不包含原点的部分。(直线给出的部分是它在于圆两个交点形成的线段的垂直平分......
  • Day14 第六章二叉树|二叉树理论基础|递归遍历|迭代遍历|统一迭代遍历
    1.理论基础图源:代码随想录满二叉树:    也可以说深度为k,有2^k-1个节点的二叉树。完全二叉树   二叉搜索树   若它的左子树不空,则左子树上所......