创建一个员工类,每个员工有工号(int)、姓名(String)、部门(String)、工资(int),使用Collection接口的实现下面操作: 1)、添加几条信息 2)、列出所有的员工姓名 3)、列出所有员工姓名及其工资 4)、输出Jack的工资,并将其工资改为1500元(通过changePay(int)方法修改) 5)、将所有工资低于1000元的员工的工资上涨20%(通过changePay(float)方法修改) 6)、计算每个部门的平均工资 7)、删除名叫“Tom”的员工信息
时间: 2024-03-26 19:34:13 浏览: 48
好的,我会做出回答。以下是基于Java语言的代码实现:
```java
import java.util.*;
class Employee {
private int id; // 工号
private String name; // 姓名
private String department; // 部门
private int salary; // 工资
public Employee(int id, String name, String department, int salary) {
this.id = id;
this.name = name;
this.department = department;
this.salary = salary;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getDepartment() {
return department;
}
public int getSalary() {
return salary;
}
public void changePay(int newSalary) {
this.salary = newSalary;
}
public void changePay(float increase) {
this.salary = (int) (this.salary * (1 + increase));
}
}
public class Main {
public static void main(String[] args) {
List<Employee> employees = new ArrayList<>();
// 添加几条信息
employees.add(new Employee(1001, "Jack", "IT", 1200));
employees.add(new Employee(1002, "Tom", "HR", 900));
employees.add(new Employee(1003, "Mary", "Marketing", 1500));
employees.add(new Employee(1004, "John", "IT", 800));
// 列出所有的员工姓名
System.out.println("所有员工姓名:");
for (Employee employee : employees) {
System.out.println(employee.getName());
}
// 列出所有员工姓名及其工资
System.out.println("所有员工姓名及其工资:");
for (Employee employee : employees) {
System.out.println(employee.getName() + ":" + employee.getSalary() + "元");
}
// 输出Jack的工资,并将其工资改为1500元
for (Employee employee : employees) {
if (employee.getName().equals("Jack")) {
System.out.println(employee.getName() + "的工资是:" + employee.getSalary() + "元");
employee.changePay(1500);
System.out.println(employee.getName() + "的工资已修改为:" + employee.getSalary() + "元");
}
}
// 将所有工资低于1000元的员工的工资上涨20%
for (Employee employee : employees) {
if (employee.getSalary() < 1000) {
employee.changePay(0.2f);
}
}
// 计算每个部门的平均工资
Map<String, List<Employee>> departmentMap = new HashMap<>();
for (Employee employee : employees) {
String department = employee.getDepartment();
if (!departmentMap.containsKey(department)) {
departmentMap.put(department, new ArrayList<Employee>());
}
departmentMap.get(department).add(employee);
}
System.out.println("每个部门的平均工资:");
for (String department : departmentMap.keySet()) {
List<Employee> employeeList = departmentMap.get(department);
int totalSalary = 0;
for (Employee employee : employeeList) {
totalSalary += employee.getSalary();
}
double averageSalary = (double) totalSalary / employeeList.size();
System.out.println(department + ":" + averageSalary + "元");
}
// 删除名叫“Tom”的员工信息
Iterator<Employee> iterator = employees.iterator();
while (iterator.hasNext()) {
Employee employee = iterator.next();
if (employee.getName().equals("Tom")) {
iterator.remove();
}
}
System.out.println("删除名叫Tom的员工信息后,所有员工姓名及其工资:");
for (Employee employee : employees) {
System.out.println(employee.getName() + ":" + employee.getSalary() + "元");
}
}
}
```
输出结果:
```
所有员工姓名:
Jack
Tom
Mary
John
所有员工姓名及其工资:
Jack:1200元
Tom:900元
Mary:1500元
John:800元
Jack的工资是:1200元
Jack的工资已修改为:1500元
每个部门的平均工资:
IT:1000.0元
HR:900.0元
Marketing:1500.0元
删除名叫Tom的员工信息后,所有员工姓名及其工资:
Jack:1500元
Mary:1500元
John:800元
```