利用JAVA流处理-统计男员工人数;找出所有薪资大于 5000 元的女员工;找出大于平均年龄的员工
创建一个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 元的女员工;找出大于平均年龄的员工相关推荐
- 汇编-统计男女生人数
一.实习题目:统计男女生人数 二.实习目的:掌握循环设计的基本方法 三.实习内容: 统计一个有10人的班中,男.女生的人数各为多少.将男生人数存入变量MAN.女生人数存入变量WOMAN中. 提示 ...
- jpa vue管理系统_如何通过利用Java流获取类型安全和直观的Hibernate / JPA查询
jpa vue管理系统 大部分Java数据库应用程序都在使用Hibernate / JPA来弥合Java和SQL之间的鸿沟. 直到最近,我们还被迫将Java和JPQL混合使用,或者使用复杂的命令式标准 ...
- mysql 统计男女生人数_数据库查询男女的人数分别是多少?
展开全部 数据库查询男女的人数:62616964757a686964616fe59b9ee7ad9431333365633864 1.select stuClass,count(stuName) 班级 ...
- 利用Java流进行类的整型字段求和的例子
我有两个测试类: import java.util.Arrays; import java.util.List; import java.util.function.ToIntFunction; im ...
- 使用结构体数组统计男、女人数,计算全体学生的平均年龄、平均成绩,并将高于平均成绩的学生信息输出
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p165 习题6 3.输入10个学生的信息(包括学号.姓名.性别.年龄.成绩)组成结构体数组,分别统计男 ...
- java用于保存登录对象怎么写,利用对象流模仿登陆注册功能——Java对象流应用...
要求: 1.建一个User类,类中结构有用户名.密码.注册日期三个属性, 一个注册方法和一个登录方法. 2.建一个Data类,用一个List装载用户数据,有保存数据,读取数据的方法. 3.利用对象流, ...
- java扫描所有用户信息_监听器实现案例----自定义session扫描器和统计在线用户人数及用户信息...
一.案例一:自定义Session扫描器 1.案例说明 当一个Web应用创建的Session很多时,为了避免Session占用太多的内存,我们可以选择手动将这些内存中的session销毁,那么此时也可以 ...
- 利用java统计每天用户升级手机App信息
利用java几个简单的工具来统计每天用户升级手机App信息, 先看数据和需求: 日期,用户名,app名,下载渠道,所在城市,app版本 2017-08-15,金刚葫芦娃,美团外卖,app store, ...
- Java裁剪音乐,利用IO流
** Java裁剪音乐,利用IO流 ** 主方法 public static void main(String[] args) throws IOException {//输入流对象,路径要裁剪文件路 ...
- java怎么快速创建监听类_java_利用java监听器实现在线人数统计,1.在工程中创建监听类SessionLi - phpStudy...
利用java监听器实现在线人数统计 1.在工程中创建监听类SessionListener 并且实现HttpSessionListener接口,代码如下 import javax.servlet.htt ...
最新文章
- pandas python csv_python:pandas合并csv文件的方法(图书数据集成)
- webpack4.x多页面零配置项目模板
- mysql查询不确定的信息_mysql 07.18
- C++ Web 编程 CGI公共网关接口(CGI):第一个 CGI 程序
- css hack的使用
- 人类一败涂地电脑版_《漫威复仇者联盟》帧数对比丨PS4《人类一败涂地》新地图上线...
- (android 地图实战开发)4地图偏移量解决方案
- 176.第二高的薪水
- kali安装图像处理软件
- 2020年初全国行政区划矢量数据
- 基于matlab数字滤波器设计,基于MATLAB环境的数字滤波器设计
- 支付宝"手机网站支付"主域名申请了,二级域名还要申请吗
- java框架-框架的演变(记录)
- 小秘书智能app登录
- 中兴对华为NB-IoT的大反击 - CLAA
- [Python]WEB编程--个人日记网站搭建(一)
- java动态代理实现接口调用
- net.ipv4.tcp_tw_recycle
- 头歌-信息安全技术-实训04 数据库SQL注入漏洞
- 英语学习、五个常用基本句型