JAVA Liststream.随机取一条过滤其他
时间: 2024-12-27 22:31:20 浏览: 6
在Java中,List.stream()是集合框架提供的一种流(Stream)操作,它允许您对列表进行一系列并行或非并行的操作,包括过滤、映射、收集等。如果你想从List中随机选取一条元素,并且过滤掉其他不符合条件的元素,可以按照以下步骤操作:
首先,你可以使用`filter()`方法来过滤出满足特定条件的元素,然后利用`collect()`方法结合`Collectors.randomElement()`来获取一个随机元素。假设我们有一个Person对象的List,你想随机选择一个年龄大于18岁的人员:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
class Person {
String name;
int age;
// ...构造函数、getters和setters...
}
List<Person> people = Arrays.asList(
new Person("Alice", 20),
new Person("Bob", 16),
new Person("Charlie", 25)
);
// 过滤出年龄大于18的人,然后随机选择一个
Person randomAdult = people.stream()
.filter(person -> person.getAge() > 18)
.collect(Collectors.randomElement());
System.out.println(randomAdult);
```
阅读全文