Java函数使用示例:实现根据条件筛选列表
发布时间:2023-11-05 13:47:44
在Java中,可以使用函数来筛选列表中满足特定条件的元素。下面是一个示例,演示如何使用Java函数来根据条件筛选列表。
假设有一个存储学生信息的列表,每个学生有一个名称和年龄属性。我们的目标是从列表中筛选出所有年龄大于20岁的学生。
首先,我们需要定义一个学生类,包含名称和年龄属性,并生成相应的getter和setter方法。
public class Student {
private String name;
private int age;
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// Getter and setter methods
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
接下来,我们需要创建一个包含学生对象的列表,并向其中添加一些示例数据。
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("John", 18));
students.add(new Student("Alice", 22));
students.add(new Student("Bob", 21));
students.add(new Student("Emily", 19));
students.add(new Student("Mike", 25));
}
}
现在,我们可以使用Java函数来筛选出年龄大于20岁的学生。
import java.util.ArrayList;
import java.util.List;
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
List<Student> students = new ArrayList<>();
students.add(new Student("John", 18));
students.add(new Student("Alice", 22));
students.add(new Student("Bob", 21));
students.add(new Student("Emily", 19));
students.add(new Student("Mike", 25));
List<Student> filteredStudents = filterStudents(students, student -> student.getAge() > 20);
for (Student student : filteredStudents) {
System.out.println(student.getName());
}
}
public static List<Student> filterStudents(List<Student> students, Predicate<Student> predicate) {
List<Student> filteredStudents = new ArrayList<>();
for (Student student : students) {
if (predicate.test(student)) {
filteredStudents.add(student);
}
}
return filteredStudents;
}
}
在上面的示例中,我们定义了一个filterStudents函数,它接受一个学生列表和一个Predicate对象作为参数。Predicate对象是一个函数式接口,用于定义筛选条件。它的test方法用于判断给定的学生是否满足条件。
我们使用Lambda表达式来创建一个Predicate对象,以筛选出年龄大于20岁的学生。然后,通过调用filterStudents函数,并将学生列表和Predicate对象作为参数传递给它,可以获得满足条件的学生列表。
最后,通过遍历筛选后的学生列表,打印出学生的名称。在此示例中,输出将是:
Alice Bob Mike
上述示例演示了如何使用Java函数来根据条件筛选列表。你可以根据具体需求修改筛选条件和输出内容,以满足自己的需要。
