集合Steam流的filter的startWith方法
时间: 2024-05-16 08:15:43 浏览: 21
集合Steam流中的`filter`方法用于筛选出符合条件的元素,而`startWith`方法则用于在流的开头添加一个指定的元素。这两个方法可以结合使用,代码示例如下:
```java
List<String> list = Arrays.asList("hello", "world", "java");
list.stream()
.filter(str -> str.startsWith("h"))
.map(str -> "prefix: " + str)
.forEach(System.out::println);
```
输出结果为:
```
prefix: hello
```
在上面的代码中,我们使用`filter`方法筛选出以字母"h"开头的字符串,然后使用`map`方法在每个字符串前添加"prefix: "前缀,最后使用`forEach`方法打印结果。如果我们要在流的开头添加一个元素,可以使用`Stream.concat`方法将一个包含指定元素的流与原始流连接起来,代码示例如下:
```java
Stream<String> stream = Stream.concat(Stream.of("prefix: "), list.stream());
stream.filter(str -> str.startsWith("prefix"))
.forEach(System.out::println);
```
输出结果为:
```
prefix: hello
prefix: world
prefix: java
```
在上面的代码中,我们使用`Stream.concat`方法将一个包含"prefix: "元素的流与原始流连接起来,然后使用`filter`方法筛选出以"prefix"开头的字符串,最后使用`forEach`方法打印结果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![crx](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)