美文网首页
Java的拉姆达表达式

Java的拉姆达表达式

作者: bangbang2 | 来源:发表于2020-10-13 14:44 被阅读0次

拉姆达表达式由三部分构成
()代表参数
->
{}可省略,主体可以是表达式和语句,如果是表达式需要去return,但是语句只需要执行即可


image.png
image.png

匿名内部类的意思就是这个类没有名字,只有new xxx,如下,可以在匿名内部类写方法



外部比较器,去实现Comparator接口,利用匿名内部类,来实现比较,其中写<int []>来代表参数,然后在匿名类内部去实现或重写compare方法,下面是实现比较二维数组的第一维元素的实现,compare(int [] a,int [] b)该方法的参数,int [] a代表取该二维数组的一行,然后return a[0]-b[0];,如果a[0]-b[0]>0就返回1,代表顺序
Arrays.sort(intervals, new Comparator<int []>(){//<int []>代表参数,这就叫匿名内部类
public int compare(int [] a,int [] b){
return a[0]-b[0];//顺序
}
看看这个例子:
image.png
image.png

也可以利用拉姆达表达式来实现,含义和之前的一样
Arrays.sort(intervals, (int [] a,int [] b)->a[0]-b[0]
内部比较器:
需要来实现Comparable接口,在类内部去实现compareTo()方法,具体的实现和compare方法类似,去调用java.util.Arrays.sort()方法,不用像Comparator去指定容器,这个默认使用内部比较器


image.png

相关文章

  • 拉姆达表达式遍历集合元素

    拉姆达表达式在匿名内部类有使用,这次要说的是在集合中遍历元素 在哈希图里使用拉姆达表达式: 在集合里使用拉姆达表达式:

  • Java的拉姆达表达式

    拉姆达表达式由三部分构成()代表参数->{}可省略,主体可以是表达式和语句,如果是表达式需要去return,但是语...

  • 开启java8中的LAMBDA

    使用java8的兰姆达表达式会报错: Error:Jack is required to support java...

  • Button注册方法之大坑

    For循环里面给Button添加带参数的注册方法 Button添加带参数的注册方法二(拉姆达表达式)

  • 拉姆达表达式日常使用

    来自于日常开发~~ 1、提取集合中的前20个数据 ``` LinkedList list1 = new Link...

  • 拉达姆水库

    小时候喜欢听奶奶讲过去的事情,想来是因为更多的把她当朋友、当导师,所以想知道她和我一样年纪时的经历和想法。 这样,...

  • 拉姆达毒株

    德尔塔变异毒株带来的全球疫情警报还未解除,一个名叫“拉姆达”的变异毒株又开始出现“冒尖”趋势。目前,拉姆达毒株已被...

  • 第7章 函数表达式

    1、定义函数的两种方式:1)函数声明:存在函数声明提升2)函数表达式:使用前必须先赋值;匿名函数(拉姆达函数) 2...

  • Block or Delegate

    背景 游戏开发的过程中,就涉及到闭包(拉姆达表达式lambda)和代理的选择,当然在游戏中选择还是比较容易的,因为...

  • 不败的格桑花

    你唤我达娃拉姆 多么清澈纯粹 在世俗中 毫无察觉 泯灭掉的人性 再也找不回 还想回到过去 不期望能再是达娃拉姆 月...

网友评论

      本文标题:Java的拉姆达表达式

      本文链接:https://www.haomeiwen.com/subject/shfvpktx.html