Stream流是一个序列化的对象集合,在Java中用于处理大量数据的一种工具。Stream可以对集合进行筛选、排序、聚合等操作,并且这些操作可以链式进行,最后可以将结果返回成一个新的Stream或者其他数据类型。Stream能够将数据集合中的元素进行并行处理,因此能够有效提高程序的执行效率。在Java 8中,引入了Stream API,使得Stream在程序设计中使用更加便捷。
倒叙示例代码如下:
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
public class Main {
public static void main(String[] args) {
// 创建学生对象集合
List<Student> students = new ArrayList<>();
students.add(new Student("Alice", 20));
students.add(new Student("Bob", 18));
students.add(new Student("Charlie", 22));
// 按照 age 属性倒序排序(想要正序排列,只需要去掉.reversed()即可)
List<Student> sortedStudents = students.stream()
.sorted(Comparator.comparingInt(Student::getAge).reversed())
.collect(Collectors.toList());
// 输出排序后的结果
for (Student student : sortedStudents) {
System.out.println(student.getName() + " - " + student.getAge());
}
}
}
collect(Collectors.toList()
方法用来收集排序后的结果并将其转换为一个新的列表。