zoukankan      html  css  js  c++  java
  • Stream系列(五)Min Max Average方法使用

    最小值,最大值,平均值

    EmployeeTestCase.java
    package com.example.demo;
    
    import lombok.Data;
    import lombok.ToString;
    import lombok.extern.log4j.Log4j2;
    import org.junit.Test;
    
    import java.util.Collection;
    import java.util.Comparator;
    import java.util.List;
    import java.util.stream.Collectors;
    import java.util.stream.LongStream;
    import java.util.stream.Stream;
    
    import static org.junit.Assert.assertEquals;
    import static org.junit.Assert.assertTrue;
    
    @Log4j2
    public class EmployeeTestCase extends BaseTest{
        @Test
        public void minMaxAverage() {
            Employee employeeMaX = list.stream().max(Comparator.comparing(Employee::getSalary)).orElse(null);
            assertEquals("Michael",employeeMaX.getName());
            Employee employeeMin = list.stream().min(Comparator.comparing(Employee::getSalary)).orElse(null);
            assertEquals("Alex",employeeMin.getName());
            double dMax = list.stream().mapToDouble(e -> e.getSalary()).max().orElse(0.00);
            assertTrue(dMax == 2000);
            double dMin = list.stream().mapToDouble(e -> e.getSalary()).min().orElse(0.00);
            assertTrue(dMin == 1000);
            double dAverage = list.stream().mapToDouble(e -> e.getSalary()).average().orElse(0.00);
            log.info("dAverage:{}",dAverage);
        }
    }
    BaseTest.java
    package com.example.demo;
    
    import java.util.Arrays;
    import java.util.List;
    
    public class BaseTest {
        protected static final List<Employee> list = Arrays.asList(
                new Employee(1, "Alex", 1000),
                new Employee(2, "Michael", 2000),
                new Employee(3, "Jack", 1500),
                new Employee(4, "Owen", 1500),
                new Employee(5, "Denny", 2000));
    
        protected static final List<List<Employee>> listFlat = Arrays.asList(
                Arrays.asList(new Employee(1, "Alex", 1000),
                        new Employee(2, "Michael", 2000)),
                Arrays.asList(new Employee(3, "Jack", 1500),
                        new Employee(4, "Owen", 1500)),
                Arrays.asList(new Employee(5, "Denny", 2000)));
    }

    关注公众号,坚持每天3分钟学习

  • 相关阅读:
    python if __name__ == '__main__' 作用
    Python pandas.DataFrame调整列顺序及修改index名
    Abp + gRpc 如何实现用户会话状态传递
    ASP .NET CORE 根据环境变量支持多个 appsettings.json
    [Abp 源码分析]九、事件总线
    [Abp 源码分析]八、缓存管理
    [Abp 源码分析]七、仓储与 Entity Framework Core
    基于阿里云 DNS API 实现的 DDNS 工具
    CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题
    [Abp 源码分析]六、工作单元的实现
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/11949472.html
Copyright © 2011-2022 走看看