java前端流_Java8的流(stream)操作
时间: 2023-06-21 12:06:50 浏览: 100
Struts2_validate_6_8.rar_Java 8
Java8中引入了流(stream)操作,它是一种对集合(List、Set、Map等)进行操作的方式,可以简化代码、提高代码可读性和执行效率。流操作包括中间操作和终止操作两种类型。
中间操作是指返回流本身的操作,可以连续调用多个中间操作,最终调用一个终止操作,例如:
```
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int sum = list.stream()
.filter(i -> i % 2 == 0) // 过滤偶数
.mapToInt(Integer::intValue) // 转为int类型
.sum(); // 求和
```
上述代码中,`filter`、`mapToInt`都是中间操作,它们对流进行了过滤和映射操作,并返回了一个新的流对象,`sum`是终止操作,它对流进行了求和操作并返回结果。
常用的中间操作包括:`filter`(过滤)、`map`(映射)、`distinct`(去重)、`sorted`(排序)、`limit`(限制返回元素数量)和`skip`(跳过前n个元素)等。常用的终止操作包括:`forEach`(遍历)、`count`(计数)、`collect`(收集)、`max`(最大值)、`min`(最小值)和`reduce`(归约)等。
流操作可以大大简化代码,提高代码可读性和执行效率。在使用流操作时,需要注意流只能被消费一次,也就是说,对于同一个流对象,如果已经执行了终止操作,那么就不能再次执行中间或终止操作,否则会抛出异常。
阅读全文