创建一个Employee JAVABean对象

package ght04_Stream;
import java.util.ArrayList;
import java.util.List;public class Employee { // 员工类private String name; // 姓名private int age; // 年龄private double salary; // 工资private String sex; // 性别private String dept; // 部门// 构造方法public Employee(String name, int age, double salary, String sex, String dept) {this.name = name;this.age = age;this.salary = salary;this.sex = sex;this.dept = dept;}// 重写此方法,方便打印输出员工信息public String toString() {return "name=" + name + ", age=" + age + ", salary=" + salary + ", sex=" + sex + ", dept=" + dept;}// 以下是员工属性的getter方法public String getName() {return name;}public int getAge() {return age;}public double getSalary() {return salary;}public String getSex() {return sex;}public String getDept() {return dept;}static List<Employee> getEmpList() { // 提供数据初始化方法List<Employee> list = new ArrayList<Employee>();// 添加员工数据list.add(new Employee("老张", 40, 9000, "男", "运营部"));list.add(new Employee("小刘", 24, 5000, "女", "开发部"));list.add(new Employee("大刚", 32, 7500, "男", "销售部"));list.add(new Employee("翠花", 28, 5500, "女", "销售部"));list.add(new Employee("小马", 21, 3000, "男", "开发部"));list.add(new Employee("老王", 35, 6000, "女", "人事部"));list.add(new Employee("小王", 21, 3000, "女", "人事部"));return list;}
}

利用JAVA流处理Stream测试数据

package ght04_Stream;import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;public class test {public static void main(String[] args) {List<Employee> list = Employee.getEmpList();    //get test data from public classStream<Employee> stream = list.stream();    //get stream object// 分组规则方法,按照员工进行分级(sex)Function<Employee, String> f = Employee::getSex;// 按照部门分成若干List集合,集合中保存员工对象,返回成MapMap<String, List<Employee>> map = stream.collect(Collectors.groupingBy(f));Set<String> keySet = map.keySet(); // 获取Map的 all sexint age = 0;    //年龄总和double avg_age = 0.0;for ( Employee e : list ){age += e.getAge();}avg_age = age/list.size();int num = 0;int salary = 5000;int s_num = 0;int a_num = 0;List<Employee>employees = new ArrayList<>();for (String sex : keySet) { // 遍历部门名称集合// find sexif(sex == "男"){List<Employee> deptList = map.get(sex); // 获取sex == "男"System.out.println("男员工人数为: "+deptList.size());for(Employee e : deptList){if(e.getAge() > avg_age){employees.add(e);}}}else{List<Employee> deptList = map.get(sex); // 获取sex == " 女"for(Employee d : deptList){if(d.getSalary() > 5000){s_num++;}if( d.getAge() > avg_age){employees.add(d);}}System.out.println("薪资大于5000的女员工人数为: "+s_num);}}System.out.println("大于平均年龄的员工: ");for (Employee emp : employees) { // 遍历员工集合System.out.println("\t" + emp); // 输出员工信息}}
}

利用JAVA流处理-统计男员工人数;找出所有薪资大于 5000 元的女员工;找出大于平均年龄的员工相关推荐

  1. 汇编-统计男女生人数

     一.实习题目:统计男女生人数 二.实习目的:掌握循环设计的基本方法 三.实习内容: 统计一个有10人的班中,男.女生的人数各为多少.将男生人数存入变量MAN.女生人数存入变量WOMAN中. 提示 ...

  2. jpa vue管理系统_如何通过利用Java流获取类型安全和直观的Hibernate / JPA查询

    jpa vue管理系统 大部分Java数据库应用程序都在使用Hibernate / JPA来弥合Java和SQL之间的鸿沟. 直到最近,我们还被迫将Java和JPQL混合使用,或者使用复杂的命令式标准 ...

  3. mysql 统计男女生人数_数据库查询男女的人数分别是多少?

    展开全部 数据库查询男女的人数:62616964757a686964616fe59b9ee7ad9431333365633864 1.select stuClass,count(stuName) 班级 ...

  4. 利用Java流进行类的整型字段求和的例子

    我有两个测试类: import java.util.Arrays; import java.util.List; import java.util.function.ToIntFunction; im ...

  5. 使用结构体数组统计男、女人数,计算全体学生的平均年龄、平均成绩,并将高于平均成绩的学生信息输出

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p165 习题6 3.输入10个学生的信息(包括学号.姓名.性别.年龄.成绩)组成结构体数组,分别统计男 ...

  6. java用于保存登录对象怎么写,利用对象流模仿登陆注册功能——Java对象流应用...

    要求: 1.建一个User类,类中结构有用户名.密码.注册日期三个属性, 一个注册方法和一个登录方法. 2.建一个Data类,用一个List装载用户数据,有保存数据,读取数据的方法. 3.利用对象流, ...

  7. java扫描所有用户信息_监听器实现案例----自定义session扫描器和统计在线用户人数及用户信息...

    一.案例一:自定义Session扫描器 1.案例说明 当一个Web应用创建的Session很多时,为了避免Session占用太多的内存,我们可以选择手动将这些内存中的session销毁,那么此时也可以 ...

  8. 利用java统计每天用户升级手机App信息

    利用java几个简单的工具来统计每天用户升级手机App信息, 先看数据和需求: 日期,用户名,app名,下载渠道,所在城市,app版本 2017-08-15,金刚葫芦娃,美团外卖,app store, ...

  9. Java裁剪音乐,利用IO流

    ** Java裁剪音乐,利用IO流 ** 主方法 public static void main(String[] args) throws IOException {//输入流对象,路径要裁剪文件路 ...

  10. java怎么快速创建监听类_java_利用java监听器实现在线人数统计,1.在工程中创建监听类SessionLi - phpStudy...

    利用java监听器实现在线人数统计 1.在工程中创建监听类SessionListener 并且实现HttpSessionListener接口,代码如下 import javax.servlet.htt ...

最新文章

  1. pandas python csv_python:pandas合并csv文件的方法(图书数据集成)
  2. webpack4.x多页面零配置项目模板
  3. mysql查询不确定的信息_mysql 07.18
  4. C++ Web 编程 CGI公共网关接口(CGI):第一个 CGI 程序
  5. css hack的使用
  6. 人类一败涂地电脑版_《漫威复仇者联盟》帧数对比丨PS4《人类一败涂地》新地图上线...
  7. (android 地图实战开发)4地图偏移量解决方案
  8. 176.第二高的薪水
  9. kali安装图像处理软件
  10. 2020年初全国行政区划矢量数据
  11. 基于matlab数字滤波器设计,基于MATLAB环境的数字滤波器设计
  12. 支付宝"手机网站支付"主域名申请了,二级域名还要申请吗
  13. java框架-框架的演变(记录)
  14. 小秘书智能app登录
  15. 中兴对华为NB-IoT的大反击 - CLAA
  16. [Python]WEB编程--个人日记网站搭建(一)
  17. java动态代理实现接口调用
  18. net.ipv4.tcp_tw_recycle
  19. 头歌-信息安全技术-实训04 数据库SQL注入漏洞
  20. 英语学习、五个常用基本句型

热门文章

  1. pacman 查询_pacman常用命令
  2. Linux 添加802.11n网卡驱动
  3. 《动手学深度学习》组队学习打卡Task5——卷积神经网络进阶
  4. 算法学习(二十)——GAE
  5. 向淘宝学运营:移动MM速长成
  6. 虚幻C++入门个人笔记(2)——标记宏、结构体枚举、资源加载、代理
  7. 测试网站速度简单方法
  8. Asp.net教师管理系统
  9. yii mysql 查询 类型转换_yii2 数据库查询结果字段类型的问题
  10. android 开机自动运行程序