📅  最后修改于: 2023-12-03 15:16:01.514000             🧑  作者: Mango
在 Java 中,我们经常需要从一个对象列表中提取特定字段的值,以便进一步处理。使用流可以让这个操作更加简单和优雅。
以下是一个演示如何使用流获取一个字段的列表的示例代码:
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Person> people = Arrays.asList(
new Person("John", 30),
new Person("Mary", 25),
new Person("Bob", 40)
);
List<Integer> ages = people.stream()
.map(Person::getAge) // 提取每个 Person 对象的 age 字段
.collect(Collectors.toList());
System.out.println(ages); // 输出 [30, 25, 40]
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
以上代码中,我们先定义了一个 Person 类,包含 name 和 age 两个字段,然后创建了一个人员列表。接着,我们使用 stream()
方法将这个列表转化为流,并使用 map()
方法提取每个 Person 对象的 age 字段。最后,我们使用 collect()
方法将这些 age 值收集起来,并转换为一个 List。
这样,我们就成功地获取了一个字段的列表。
总结:
stream()
方法将列表转化为流。map()
方法提取每个对象的特定字段。collect()
方法将结果收集起来并转换为一个列表。以上就是 Java 中使用流获取一个字段的列表的示例代码和简介。