Java8 一个对象list根据某个属性求一个平均值
时间: 2024-05-16 18:12:27 浏览: 14
好的,针对您的问题,以下是解决方案:
1. 首先,需要定义一个类来表示对象。例如,我们创建一个名为"Employee"的类,它有三个属性:name, age, salary。
2. 然后,我们创建一个List对象,其中包含了多个Employee对象。
3. 接下来,我们需要编写一个方法来计算根据salary属性求平均值。这可以通过使用Java 8的Stream API来实现。
具体实现代码如下:
```
public class Employee {
private String name;
private int age;
private double salary;
//getter和setter方法
public static void main(String[] args) {
List<Employee> employees = new ArrayList<>();
employees.add(new Employee("Tom", 25, 3000));
employees.add(new Employee("Jerry", 30, 4000));
employees.add(new Employee("Mike", 35, 5000));
double averageSalary = employees.stream()
.mapToDouble(Employee::getSalary)
.average()
.orElse(0.0);
System.out.println("平均工资为:" + averageSalary);
}
}
```
在这个示例中,我们创建了一个名为employees的Employee对象列表,并对其进行了初始化。然后,我们使用stream()方法将其转换为流。接着,使用mapToDouble()方法将Employee对象中的salary属性映射成double类型的值,并对其求平均值。最后,使用orElse()方法来处理空值的情况。
希望这个解答能够对您有所帮助。