我该如何处理由函数与数ArrayList中,和组

CB RAK:

在这里输入图像描述我是处理员工的ArrayList中,并通过员工的数量需要通过函数的用法组,算在职职工和计数不活动的员工。我知道如何全过程,但如何通过函数处理与组ArrayList中。

public class Employee {
    private String name;
    private String department;
    private String status;
    public Employee(String name, String department, String status) {
        this.setName(name);
        this.setDepartment(name);
        this.setStatus(status);
    }
    public String getName() {
        return name;
    }
    public String getDepartment() {
        return department;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setDepartment(String department) {
        this.department = department;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
}

ArrayList<Employee> listEmployee = new ArrayList<Employee>();
listEmployee.add(new Employee("Ravi", "IT", "active"));
listEmployee.add(new Employee("Tom", "Sales", "inactive"));
listEmployee.add(new Employee("Kanna", "IT", "inactive"));

int count = 0;
for (Employee e : listEmployee) {
    count++;
}
System.out.println("Count of Employees" + count);

这是上面的代码我试图让员工数

int count = 0;
for (Employee e : listEmployee) {
    count++;
}
System.out.println("Count of Employees" + count);

请帮忙按部门的分组我来处理数据

我期待下面的输出来:

Department total activeCount inactiveCount
IT         2     1           1
Sales      1     0           1
充满感激的人:

您可以使用stream()从方法List<Employee>获得Stream<Employee>并使用Collectors.groupingBy(Employee::getDepartment)由部门组Employee对象。一旦做到这一点,你会得到一个Map<String, List<Employee>>地图对象。

密钥将部门名称和将是一个列表Employee对象,现在从我们的员工可以进一步筛选的该名单不活跃积极的员工:

System.out.println("Department total activeCount inactiveCount");
listEmployee.stream().collect(Collectors.groupingBy(Employee::getDepartment)).forEach((dept, emps) -> {
     int count = emps.size();
     long activeCount = emps.stream().filter(e -> "active".equals(e.getActive())).count();
     long inactiveCount = emps.stream().filter(e -> "inactive".equals(e.getActive())).count();
     int i = 12 - dept.length();
     System.out.format(dept + "%" + i +"s" + count + "%10s" + activeCount + "%10s" + inactiveCount, " ", " ", " ");
     System.out.println();
 });

输出:

Department total activeCount inactiveCount
Sales       1          0          1
IT          2          1          1

它也建议使用一个枚举的活动或不活动状态,而不是一个字符串。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我该如何处理Typescript的可选函数参数?

Sin和Cos翻转了我该如何处理?

我该如何处理队列前置和弹出功能

线程和fork()。我该如何处理?

我该如何处理axios和vue中的空错误

我该如何处理pytorch中的多重损失?

我该如何处理React JSX中的长className?

我该如何处理Laravel 5.4中的异常?

我该如何处理在picocli错误?

我该如何处理基本矩阵?

我该如何处理此请求?

我该如何处理setState是异步的?

我怎样才能处理由函数与计数ArrayList中,和基团,具有在值字符串数组

我如何处理此类函数中的递归?

我该如何处理无效的异常处理程序例程?

在 Pandas 中,当数据框替换函数找不到要替换的值时,我会收到错误消息。我该如何处理?

我该如何处理null和重复值在Java 8比较?

我该如何处理React中componentWillUnmount中的假动画?

如何处理MySQL过程和函数

我该如何处理从liquibase updateDatabase ant任务中得到的错误

ant中的mkdir失败。我该如何处理这个错误

我该如何处理在React JS中打开窗口的事件?

我该如何处理在承载它的组件/页面的Blazor子组件中引发的异常?

在弹性搜索中需要在单词之间进行搜索请咨询我该如何处理

我该如何处理 Lavaan 错误:“lavaan 模型语法中的语法错误”?

我该如何处理Process.run引发的异常

我该如何处理Scapy中封闭的港口?

我该如何处理这种欧式时间戳?

我该如何处理此自定义异常?