美文网首页
员工名单

员工名单

作者: 哈迪斯Java | 来源:发表于2021-12-10 14:47 被阅读0次

import java.util.Comparator; // 比较器接口
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

public class ReducingDemo {
public static void main(String[] args) {
List<Employee> list = Employee.getEmpList(); // 获取测试数据

    long count = list.stream().count(); // 获取总人数
    // 下行代码也能实现获取总人数效果
    // count = stream.collect(Collectors.counting());
    System.out.println("公司总人数为:" + count);

    // 通过Comparator比较接口,比较员工年龄,再通过Collectors的maxBy()方法取出年龄最大的员工的Optional对象
    Optional<Employee> ageMax = list.stream().collect(Collectors.maxBy(Comparator.comparing(Employee::getAge)));
    Employee older = ageMax.get();// 获取员工对象
    System.out.println("公司年龄最大的员工是:\n    " + older);

    // 通过Comparator比较接口,比较员工年龄,再通过Collectors的minBy()方法取出年龄最小的员工的Optional对象
    Optional<Employee> ageMin = list.stream().collect(Collectors.minBy(Comparator.comparing(Employee::getAge)));
    Employee younger = ageMin.get();// 获取员工对象
    System.out.println("公司年龄最小的员工是:\n    " + younger);

    // 统计公司员工薪资总和
    double salarySum = list.stream().collect(Collectors.summingDouble(Employee::getSalary));
    System.out.println("公司的薪资总和为:" + salarySum); // 输出结果

    // 统计公司薪资平均数
    double salaryAvg = list.stream().collect(Collectors.averagingDouble(Employee::getSalary));
    // 使用格式化输出,保留2位小数
    System.out.printf("公司的平均薪资为:%.2f\n", salaryAvg);

    // 创建统计对象,利用summarizingDouble()方法获取员工薪资各方面的统计数据
    java.util.DoubleSummaryStatistics s = list.stream().collect(Collectors.summarizingDouble(Employee::getSalary));
    System.out.print("统计:拿薪资的人数=" + s.getCount() + ", ");
    System.out.print("薪资总数=" + s.getSum() + ", ");
    System.out.print("平均薪资=" + s.getAverage() + ", ");
    System.out.print("最大薪资=" + s.getMax() + ", ");
    System.out.print("最小薪资=" + s.getMin() + "\n");

    // 将公司员工姓名拼成一个字符串,用逗号分隔
    String nameList = list.stream().map(Employee::getName).collect(Collectors.joining(", "));
    System.out.println("公司员工名单如下:\n    " + nameList);
}

}

相关文章

  • 员工名单

    import java.util.Comparator; // 比较器接口import java.util.Lis...

  • 181. 超过经理收入的员工

    用inner join,输出符合要求的员工名单。

  • 初学ElasticSearch系列之五 索引

    背景 假设我们正在为一个名叫 megacorp 的公司的 HR 部门制作一个新的员工名单系统,这些名单应该可以满足...

  • 焦虑,是努力走出舒适区的代价

    1 刚到单位,同事就找我哭诉,上个月报名参加的资格考试成绩公布了,没过。 更糟糕的是,优秀员工名单也出来了,名单里...

  • 2017年2月27日 风尚店厨房团队建设检查

    1、员工生日会在2月15日举行,厨师长王俭不知道当月过生日伙伴名单,回复为:厨房人员太多,记不住 2、月度员工大会...

  • 妈妈对男孩子要适当放手

    博士肄业两年,不善与人交流,入职普通公司,现在怎样了呢? 今天公司开会评选2020年优秀员工,名单中有一个员工引起...

  • 畅想新员工培养之01线上见面会

    一、什么是新员工线上见面会? 在确定新员工的录取名单后(3、4月),正式报到前(7月),通过在线形式,让ta们提前...

  • 寻找第三种可能的智慧

    1 快年底了,一个员工找老板谈加薪,在老板心目中,这个表现中规中矩的员工实在不在他的加薪名单里,但他沉吟了下,没有...

  • 践行这八点,三个月成为一流员工

    文/覃思默 每个月月初,身边很多管理人员会给公司提交一份本部门优秀员工名单,而这份名单通常会令他们非常头疼,因为按...

  • 冒雨检测

    @所有人,周一上午八点,全体教职员工在广场进行核酸检测,这是教育局下发的下周一核酸检测名单,和上次名单顺序有很大变...

网友评论

      本文标题:员工名单

      本文链接:https://www.haomeiwen.com/subject/rpkbxrtx.html