面试题答案
一键面试import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
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;
}
}
public class Main {
public static void main(String[] args) {
List<Person> personList = new ArrayList<>();
personList.add(new Person("Alice", 25));
personList.add(new Person("Bob", 35));
personList.add(new Person("Charlie", 40));
List<String> names = personList.stream()
.filter(person -> person.getAge() > 30)
.map(Person::getName)
.collect(Collectors.toList());
System.out.println(names);
}
}
- 首先定义了
Person
类,包含name
和age
属性及相应的访问器方法。 - 在
main
方法中,创建了一个Person
对象的List
,并添加了一些示例数据。 - 使用Java Stream API:
stream()
方法将List
转换为流。filter(person -> person.getAge() > 30)
筛选出年龄大于30岁的Person
对象。map(Person::getName)
提取这些Person
对象的name
属性。collect(Collectors.toList())
将结果收集到一个新的List
中。
最终输出年龄大于30岁的Person
对象的name
组成的List
。