——代码举例分析(学生信息的列表)
这段Java代码使用了Java的流式API对一个整数列表进行处理,筛选出大于100的元素,进行排序,并将其转换为字符串列表。这段代码在实际应用中常被用于对数据进行筛选、排序和格式化等操作。下面我们以一个经典的案例来详细分析这段代码。
假设我们有一个学生信息的列表,其中包括学生的姓名、年龄和成绩等信息。我们需要从该列表中筛选出年龄大于18岁,成绩大于80分的学生,并按照成绩进行排序,最后输出学生的姓名和成绩。这个需求可以通过如下代码实现:
List<Student> students = Arrays.asList(
new Student("张三", 20, 90),
new Student("李四", 19, 85),
new Student("王五", 22, 75),
new Student("赵六", 18, 95),
new Student("田七", 21, 80)
);
List<String> result = students.stream()
.filter(s -> s.getAge() > 18 && s.getScore() > 80)
.sorted(Comparator.comparing(Student::getScore))
.map(s -> s.getName() + " " + s.getScore())
.collect(Collectors.toList());
System.out.println(result);
运行结果为:
[李四 85, 张三 90]
在这个例子中,我们首先创建了一个学生信息列表,然后使用流式API对其进行处理。我们使用filter()方法筛选出年龄大于18岁,成绩大于80分的学生,使用sorted()方法按照成绩进行排序,使用map()方法将学生信息转换为字符串,并使用collect()方法将结果收集到一个字符串列表中。最后,我们输出结果。