List先用stream过滤在赋值
时间: 2024-09-24 18:18:37 浏览: 23
在Java中,你可以使用`Stream API`对List进行过滤操作,然后再进行赋值。这种方式非常简洁,尤其是在处理大量数据时,能提高代码的可读性和性能。下面是一个简单的示例:
假设你有一个`Person`列表,你想过滤出年龄大于18岁的人员,并将结果存储到一个新的列表中:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class Person {
String name;
int age;
// constructor and getters/setters...
}
public class Main {
public static void main(String[] args) {
List<Person> originalList = new ArrayList<>();
originalList.add(new Person("Alice", 20));
originalList.add(new Person("Bob", 17));
originalList.add(new Person("Charlie", 25));
// 使用流API过滤
List<Person> filteredList = originalList.stream()
.filter(person -> person.getAge() > 18)
.collect(Collectors.toList());
// 现在,filteredList只包含年龄大于18的人
for (Person person : filteredList) {
System.out.println(person.getName() + " is over 18 years old.");
}
}
}
```
在这个例子中,`stream()`方法创建了一个Stream,`.filter()`用于应用条件过滤,`collect()`则用于收集满足条件的元素,最后返回一个新的列表。
阅读全文