使用java统计全公司的年龄并且以升序的形式打印出来,统计全公司的薪资并且以降序的形式打印出来
时间: 2024-03-27 08:38:01 浏览: 15
好的,我可以给你一些思路和代码示例。
首先,我们需要定义一个员工类,包含姓名、年龄、薪资等属性。
```java
public class Employee {
private String name;
private int age;
private double salary;
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
}
```
然后,我们可以创建一个员工列表,并向其中添加一些员工信息。
```java
List<Employee> employees = new ArrayList<>();
employees.add(new Employee("张三", 25, 5000));
employees.add(new Employee("李四", 30, 8000));
employees.add(new Employee("王五", 28, 6000));
employees.add(new Employee("赵六", 35, 10000));
employees.add(new Employee("钱七", 24, 4000));
```
接下来,我们可以使用lambda表达式和Stream API来对员工列表进行统计和排序。
统计年龄的代码示例:
```java
List<Integer> ages = employees.stream()
.map(Employee::getAge)
.sorted()
.collect(Collectors.toList());
System.out.println("按年龄升序排列:" + ages);
```
统计薪资的代码示例:
```java
List<Double> salaries = employees.stream()
.map(Employee::getSalary)
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println("按薪资降序排列:" + salaries);
```
最后,我们可以将年龄和薪资统计的结果打印出来。
完整代码示例如下:
```java
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Employee> employees = new ArrayList<>();
employees.add(new Employee("张三", 25, 5000));
employees.add(new Employee("李四", 30, 8000));
employees.add(new Employee("王五", 28, 6000));
employees.add(new Employee("赵六", 35, 10000));
employees.add(new Employee("钱七", 24, 4000));
List<Integer> ages = employees.stream()
.map(Employee::getAge)
.sorted()
.collect(Collectors.toList());
System.out.println("按年龄升序排列:" + ages);
List<Double> salaries = employees.stream()
.map(Employee::getSalary)
.sorted(Comparator.reverseOrder())
.collect(Collectors.toList());
System.out.println("按薪资降序排列:" + salaries);
}
}
class Employee {
private String name;
private int age;
private double salary;
public Employee(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
public double getSalary() {
return salary;
}
}
```