stream流获取字段几个指定值的数据 java
时间: 2023-10-01 17:11:38 浏览: 141
List集合多个复杂字段判断去重的案例
如果你想使用Stream流获取集合中字段等于几个指定值的数据,你可以使用`filter()`方法结合Lambda表达式来实现。下面是一个示例代码:
```java
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("apple");
fruits.add("banana");
fruits.add("orange");
fruits.add("kiwi");
fruits.add("grape");
// 指定的值
List<String> specifiedValues = new ArrayList<>();
specifiedValues.add("apple");
specifiedValues.add("orange");
// 获取字段等于指定值的数据
List<String> filteredList = fruits.stream()
.filter(fruit -> specifiedValues.contains(fruit))
.collect(Collectors.toList());
// 输出结果
for (String fruit : filteredList) {
System.out.println(fruit);
}
}
}
```
在这个例子中,我们定义了一个`fruits`列表,其中包含一些水果名称。然后,我们定义了一个`specifiedValues`列表,其中包含我们想要筛选的指定值。使用流式操作的`filter()`方法和Lambda表达式,我们筛选出所有字段等于指定值的水果。最后,我们使用`collect()`方法将它们收集到一个新的列表`filteredList`中。
最后,我们遍历`filteredList`并输出结果。在这个例子中,输出结果为:
```
apple
orange
```
你可以根据自己的需求修改指定值的列表和字段的类型。
阅读全文