List集合用Steam流获取其中的布尔值字段
时间: 2024-04-08 07:28:58 浏览: 150
要从List集合中使用Stream流获取布尔值字段,您可以使用Stream的filter操作来筛选出包含布尔值的元素,并将结果收集到一个新的List中。以下是一个示例代码:
```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> personList = Arrays.asList(
new Person("John", 25, true),
new Person("Jane", 30, false),
new Person("Mike", 35, true)
);
List<Boolean> booleanList = personList.stream()
.map(Person::isMarried) // 获取布尔值字段
.collect(Collectors.toList());
System.out.println(booleanList);
}
static class Person {
private String name;
private int age;
private boolean married;
public Person(String name, int age, boolean married) {
this.name = name;
this.age = age;
this.married = married;
}
public boolean isMarried() {
return married;
}
}
}
```
在上面的例子中,我们有一个Person类,它包含了一个布尔值字段`married`。我们使用Stream的`map`操作来获取所有Person对象的`married`字段,并将结果收集到一个新的List中。
输出将会是`[true, false, true]`,表示原始List中每个Person对象的`married`字段的布尔值。
阅读全文