strem流常用方法
时间: 2024-06-13 20:05:53 浏览: 104
以下是Stream流常用方法的介绍和示例:
1. map方法:用于将流中的元素映射为另一种类型,方法签名:Stream<R> map(Function<? super T, ? extends R> mapper)。参数是一个Function函数式接口,用于将流中的元素映射为另一种类型。map方法是一个延迟方法,只是对流中的元素进行映射,返回的是一个新的流。
示例代码:
```java
Stream<Integer> stream = Stream.of(1, 2, 3);
Stream<String> result = stream.map(String::valueOf);
result.forEach(System.out::println); // 输出:1 2 3
```
2. filter方法:用于过滤流中的元素,方法签名:Stream<T> filter(Predicate<? super T> predicate)。参数是一个Predicate函数式接口,用于判断流中的元素是否符合条件。filter方法是一个延迟方法,只是对流中的元素进行过滤,返回的是一个新的流。
示例代码:
```java
Stream<Integer> stream = Stream.of(1, 2, 3);
Stream<Integer> result = stream.filter(i -> i > 1);
result.forEach(System.out::println); // 输出:2 3
```
3. limit方法:用于截取流中的元素,只取用前n个,方法签名:Stream<T> limit(Long maxSize)。参数是Long类型,如果集合当前长度大于参数则进行截取,不进行操作。limit方法是一个延迟方法,只是对流中的元素进行截取返回的是一个新的流。
示例代码:
```java
Stream<String> stream = Stream.of("张无忌", "张三丰", "周芷若");
Stream<String> result = stream.limit(2);
System.out.println(result.count()); // 输出:2
```
4. skip方法:用于跳过流中的元素,方法签名:Stream<T> skip(Long n)。参数是Long类型,表示跳过前n个元素。skip方法是一个延迟方法,只是对流中的元素进行跳过,返回的是一个新的流。
示例代码:
```java
Stream<Integer> stream = Stream.of(1, 2, 3);
Stream<Integer> result = stream.skip(1);
result.forEach(System.out::println); // 输出:2 3
```
阅读全文