lamda -- 運算

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章