java stream表达式详解
时间: 2023-10-11 20:25:24 浏览: 101
Java Stream是Java 8中引入的一个新特性,它是对集合、数组等元素的一种流式处理方式。Stream可以使得对集合元素的操作更加简洁、灵活、高效,同时也可以支持并行处理。Stream的使用需要遵循以下几个步骤:
1. 获取一个Stream对象。可以通过集合、数组等方式获取Stream。
2. 对Stream进行中间操作。Stream支持多种中间操作,例如filter、map、sorted、distinct等等。
3. 对Stream进行终止操作。终止操作会触发对Stream元素的处理,例如forEach、reduce、collect等等。
下面是一个使用Stream的简单示例:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
// 使用Stream过滤出偶数,并将结果打印出来
numbers.stream()
.filter(n -> n % 2 == 0)
.forEach(System.out::println);
// 使用Stream计算出所有奇数的和,并将结果打印出来
int sum = numbers.stream()
.filter(n -> n % 2 != 0)
.mapToInt(Integer::intValue)
.sum();
System.out.println("Sum of odd numbers: " + sum);
```
在上面的示例中,首先使用`numbers.stream()`获取了一个Stream对象,然后使用`filter`中间操作过滤出偶数或奇数元素,最后使用`forEach`或`sum`等终止操作对Stream元素进行处理。
Stream的使用可以大大简化Java集合、数组等元素的处理,同时也可以实现并行处理从而提高代码的效率。但是需要注意,Stream的使用可能会增加代码的复杂度,因此在使用时需要注意代码的可读性和维护性。
阅读全文