package com.lovecoding.day24.ex01;

import org.junit.Test;

import java.util.HashMap;
import java.util.function.BiFunction;

public class Test01 {


    /*
     - 声明一个Employee员工类型，包含属性编号、姓名、薪资，属性私有化，提供有参构造，get/set，重写toString。

    - 添加n个员工对象到一个HashMap<Integer,Employee>集合中，其中员工编号为key，员工对象为value。
    - 调用Map的forEach遍历集合
    - 调用Map的replaceAll方法，将其中薪资低于10000元的，薪资设置为10000。
     */
    @Test
    public void test01(){
        HashMap<Integer,Employee> map = new HashMap<>();

        map.put(1001,new Employee("zs",18,900));
        map.put(1002,new Employee("lis",19,1200));
        map.put(1003,new Employee("ww",22,1300));
        map.put(1004,new Employee("zl",34,800));

        //lambda
        map.forEach( ( integer, employee) -> {
            System.out.println(integer+","+employee);
        });

        //Map的replaceAll方法，将其中薪资低于10000元的，薪资设置为10000。

        map.replaceAll( ( i , e ) ->{
            if (e.getSalary()< 1000){
                e.setSalary(1000);
            }
            return e;
        });

        map.replaceAll(new BiFunction<Integer, Employee, Employee>() {
            @Override
            public Employee apply(Integer integer, Employee employee) {
                return null;
            }
        });

        System.out.println("----------");
        map.forEach( ( integer, employee) -> {
            System.out.println(integer+","+employee);
        });



    }
}
