lamda -- 运算

    技术2023-05-05  81

    LamdaOperate.java

    package com.example.demo.util; import com.example.demo.entity.UserPO; import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class LamdaOperate { /** * 求和 */ public static void test1() { //1. 初始化集合 List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(1); //2. 求和 int len = list.stream().mapToInt(num -> num).sum(); //3. 输出 System.out.println(len); } /** * 求数量 */ public static void test2() { //1. 初始化集合 List<Integer[]> list = new ArrayList<>(); for (int i = 0; i < 3; i++) { Integer[] nums = {1,2}; list.add(nums); } //2. 求数量 int len = list.stream().mapToInt(nums -> nums.length).sum(); //3. 输出 System.out.println(len); } /** * 获取集合中的最大值 */ public static void test3() { //1. 初始化数据 UserPO user1 = new UserPO(1, "java"); UserPO user2 = new UserPO(2, "C"); UserPO user3 = new UserPO(3, "PHP"); List<UserPO> users = new ArrayList<>(); users.add(user1); users.add(user2); users.add(user3); //2. 获取集合中的id最大值 UserPO maxUser = users.stream().max(Comparator.comparing(UserPO::getId)).get(); //3. 输出 System.out.println("id = " + maxUser.getId() + ",name = " + maxUser.getName()); } public static void main(String[] args) { System.out.println("求和: "); test1(); System.out.println("\n求数量: "); test2(); System.out.println("\n获取集合中的最大值: "); test3(); } }

    UserPO.java

    package com.example.demo.entity; public class UserPO { private Integer id; private String name; public UserPO(Integer id, String name) { this.id = id; this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + '}'; } }

    输出

    求和: 4 求数量: 6 获取集合中的最大值: id = 3,name = PHP
    Processed: 0.015, SQL: 9