以下是一个使用Java Stream完成的综合案例:计算一组学生的平均分数。

假设有一个学生类(Student)包含以下属性:姓名(name)、年龄(age)和分数(score)。

首先,我们需要创建一个包含学生对象的列表:

List<Student> students = new ArrayList<>();
students.add(new Student("张三", 18, 90));
students.add(new Student("李四", 20, 85));
students.add(new Student("王五", 19, 95));
students.add(new Student("赵六", 21, 80));

然后,我们可以使用Stream来计算学生的平均分数:

double averageScore = students.stream()
        .mapToInt(Student::getScore) // 将学生对象映射为分数
        .average() // 计算平均值
        .orElse(0); // 如果列表为空,返回0

在上述代码中,我们首先使用stream()方法将列表转换为一个流,然后使用mapToInt()方法将学生对象映射为分数,接着使用average()方法计算平均值。最后,我们使用orElse()方法来处理列表为空的情况。

最后,我们可以输出计算得到的平均分数:

System.out.println("平均分数:" + averageScore);

完整的代码如下:

import java.util.ArrayList;
import java.util.List;

class Student {
    private String name;
    private int age;
    private int score;

    public Student(String name, int age, int score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }

    public int getScore() {
        return score;
    }
}

public class Main {
    public static void main(String[] args) {
        List<Student> students = new ArrayList<>();
        students.add(new Student("张三", 18, 90));
        students.add(new Student("李四", 20, 85));
        students.add(new Student("王五", 19, 95));
        students.add(new Student("赵六", 21, 80));

        double averageScore = students.stream()
                .mapToInt(Student::getScore)
                .average()
                .orElse(0);

        System.out.println("平均分数:" + averageScore);
    }
}

运行以上代码将输出:平均分数:87.5

Java语言完成Stream综合案例

原文地址: https://www.cveoy.top/t/topic/hF6U 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录