Java中lambda表达式的基本运用

作者:代码搬运工@ 时间:2023-09-09 08:02:36 

一、实现接口

调用一个接口中的方法,传统方法:
接口类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));
   }

}

Java中lambda表达式的基本运用

运用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));

}

}

Java中lambda表达式的基本运用

三、字符串排序方法

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));
   }

}

Java中lambda表达式的基本运用

四、对象排序

先建立个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);

}
}

来源:https://blog.csdn.net/weixin_50843918/article/details/122691818

标签:Java,Lambda
0
投稿

猜你喜欢

  • java读取文件内容,解析Json格式数据方式

    2021-10-07 13:56:23
  • springmvc之获取参数的方法(必看)

    2023-12-20 09:25:59
  • MyBatis常用的jdbcType数据类型

    2023-09-18 19:09:35
  • 解决C#获取鼠标相对当前窗口坐标的实现方法

    2022-10-07 12:57:57
  • 一文带你搞懂Java8的LocalDateTime

    2023-11-10 02:02:22
  • Springboot 异步任务和定时任务的异步处理

    2022-08-20 07:21:12
  • IntelliJ IDEA本地代码提交到github网站不显示与本地不同步问题的解决办法

    2022-09-21 10:50:44
  • SpringCloud Eureka服务治理之服务注册服务发现

    2021-12-27 15:07:16
  • 简单了解JAVA public class与class区别

    2023-11-15 23:59:26
  • Java 实战项目锤炼之IT设备固定资产管理系统的实现流程

    2023-02-06 01:31:39
  • Java中Map实现线程安全的3种方式

    2021-10-07 21:23:36
  • Spring Security登录表单配置示例详解

    2023-10-12 09:03:55
  • Java中Date和Calendar常用方法

    2023-11-12 07:35:32
  • java中request常用方法小结

    2022-09-13 06:19:45
  • IDEA部署JavaWeb项目到Tomcat服务器的方法

    2023-11-02 23:21:22
  • 详解Java ES多节点任务的高效分发与收集实现

    2021-08-03 13:59:02
  • Spring深入刨析声明式事务注解的源码

    2023-10-23 09:41:48
  • Android数据存储方式操作模式解析

    2023-07-27 02:47:05
  • Java实现雪花算法(snowflake)

    2022-10-27 03:43:23
  • C#中Dictionary<TKey,TValue>排序方式的实现

    2021-07-13 10:59:10
  • asp之家 软件编程 m.aspxhome.com