Java中lambda表达式的基本运用

 更新时间:2022年01月27日 08:40:46   作者:代码搬运工@  
大家好,本篇文章主要讲的是Java中lambda表达式的基本运用,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

一、实现接口

调用一个接口中的方法,传统方法:
接口类A:

package lombda;

/**
 * @author yeqv
 * @program A2
 * @Classname A
 * @Date 2022/1/25 20:38
 * @Email w16638771062@163.com
 */
public interface A {
    int po(int i);
    
}

实现接口:

package lombda;

/**
 * @author yeqv
 * @program A2
 * @Classname B
 * @Date 2022/1/25 20:43
 * @Email w16638771062@163.com
 */
public class B implements A {
    public int po(int i) {
        return i * i;
    }
}

调用接口中的方法po()

package lombda;

/**
 * @author yeqv
 * @program A2
 * @Classname LB1
 * @Date 2022/1/25 20:35
 * @Email w16638771062@163.com
 */
public class LB1 {
    public static void main(String[] args) {
        A ab = new B();
        System.out.println(ab.po(5));
    }

}

在这里插入图片描述

运用lambda表达式后的代码可以直接调用接口A中的方法,不用再创建个类实现接口。

package lombda;

/**
 * @author yeqv
 * @program A2
 * @Classname LB1
 * @Date 2022/1/25 20:35
 * @Email w16638771062@163.com
 */
public class LB1 {
    public static void main(String[] args) {
        var ab = (A) x -> x * x;
        System.out.println(ab.po(5));
    }

}

二、数字排序

package lombda;

import java.util.Arrays;
import java.util.Random;

/**
 * @author yeqv
 * @program A2
 * @Classname LB1
 * @Date 2022/1/25 20:35
 * @Email w16638771062@163.com
 */
public class LB1 {
    public static void main(String[] args) {
        //定义数组
        Integer[] integers = new Integer[]{1, 23, 6, 8, 2, 3};
        System.out.println(Arrays.toString(integers));
        //正序排序
        Arrays.sort(integers);
        System.out.println(Arrays.toString(integers));
        //逆序排序
        Arrays.sort(integers, (a, b) -> b - a);
        System.out.println(Arrays.toString(integers));
        //乱序排序
        Random random = new Random();
        Arrays.sort(integers, (a, b) -> random.nextBoolean() ? 1 : -1);
        System.out.println(Arrays.toString(integers));


    }

}

在这里插入图片描述

三、字符串排序方法

package lombda;

import java.util.Arrays;
import java.util.Random;

/**
 * @author yeqv
 * @program A2
 * @Classname LB1
 * @Date 2022/1/25 20:35
 * @Email w16638771062@163.com
 */
public class LB1 {
    public static void main(String[] args) {
    /*    //定义数组
        Integer[] integers = new Integer[]{1, 23, 6, 8, 2, 3};
        System.out.println(Arrays.toString(integers));
        //正序排序
        Arrays.sort(integers);
        System.out.println(Arrays.toString(integers));
        //逆序排序
        Arrays.sort(integers, (a, b) -> b - a);
        System.out.println(Arrays.toString(integers));
        //乱序排序
        Random random = new Random();
        Arrays.sort(integers, (a, b) -> random.nextBoolean() ? 1 : -1);
        System.out.println(Arrays.toString(integers));*/
//定义字符串数组
        String[] strings = new String[]{"asd", "rtyuj", "vgj", "bdf"};
        System.out.println(Arrays.toString(strings));
        //正序
        Arrays.sort(strings, (a, b) -> a.compareTo(b));
        System.out.println(Arrays.toString(strings));
        //逆序
        Arrays.sort(strings, (a, b) -> b.compareTo(a));
        System.out.println(Arrays.toString(strings));
        //乱序
        Random random = new Random();
        Arrays.sort(strings, (a, b) -> random.nextBoolean() ? 1 : -1);
        System.out.println(Arrays.toString(strings));
    }

}

在这里插入图片描述

四、对象排序

先建立个User类

package lombda;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author yeqv
 * @program A2
 * @Classname User
 * @Date 2022/1/25 21:26
 * @Email w16638771062@163.com
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;

}

再进行排序

package lombda;

import java.util.ArrayList;
import java.util.List;

/**
 * @author yeqv
 * @program A2
 * @Classname LB2
 * @Date 2022/1/25 21:27
 * @Email w16638771062@163.com
 */
public class LB2 {
    public static void main(String[] args) {
        //定义一个集合
        List<User> list = new ArrayList<User>(List.of(new User(1, "张三"), new User(5, "张四"), new User(2, "张五"), new User(3, "张六")));
        //以user对象的id来排序
        list.sort((a, b) -> a.getId() - b.getId());
        System.out.println(list);

    }
}

总结

到此这篇关于Java中lambda表达式的基本运用的文章就介绍到这了,更多相关Java lambda表达式内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java代码实现对properties文件有序的读写的示例

    Java代码实现对properties文件有序的读写的示例

    本篇文章主要介绍了Java代码实现对properties文件有序的读写的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • java执行shell命令及日志收集避坑指南分享

    java执行shell命令及日志收集避坑指南分享

    这篇文章主要介绍了java执行shell命令及日志收集避坑指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • SpringBoot之使用Redis实现分布式锁(秒杀系统)

    SpringBoot之使用Redis实现分布式锁(秒杀系统)

    这篇文章主要介绍了SpringBoot之使用Redis实现分布式锁(秒杀系统),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • java性能优化之编译器版本与平台对应关系

    java性能优化之编译器版本与平台对应关系

    这篇文章主要介绍了java性能优化--编译器版本与平台对应关系,本章节更加具体化的学习编译器还有哪些可以优化的方便,让你的应用展现出更好的性能,需要的朋友可以参考下
    2022-06-06
  • 深入浅析SPI机制在JDK与Spring Boot中的应用

    深入浅析SPI机制在JDK与Spring Boot中的应用

    SPI是一种使软件框架或库更加模块化、可扩展和可维护的有效方法。通过遵循“开闭原则”, SPI 确保了系统的稳定性和灵活性,从而满足了不断变化的业务需求,这篇文章主要介绍了SPI机制在JDK与Spring Boot中的应用,需要的朋友可以参考下
    2023-09-09
  • SpringBoot实现发送QQ邮件的示例代码

    SpringBoot实现发送QQ邮件的示例代码

    这篇文章主要介绍了SpringBoot如何实现发送QQ邮件功能,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Java由浅入深细数数组的操作上

    Java由浅入深细数数组的操作上

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。Java 语言中提供的数组是用来存储固定大小的同类型元素
    2022-04-04
  • SpringBoot多环境配置方式的新手教程

    SpringBoot多环境配置方式的新手教程

    我们平时做项目的时候,一般都会分几套环境,每一套环境的配置都是不一样的,所以这篇文章就来为大家详细介绍一下SpringBoot多环境配置方式,希望对大家有所帮助
    2023-11-11
  • java实现人员信息管理系统

    java实现人员信息管理系统

    这篇文章主要为大家详细介绍了java实现人员信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • 详解Java的Spring框架中bean的定义以及生命周期

    详解Java的Spring框架中bean的定义以及生命周期

    这篇文章主要介绍了Java的Spring框架中bean的定义以及生命周期,bean的实例化是Java web开发中的重要基础,需要的朋友可以参考下
    2015-12-12

最新评论