java8 (jdk 1.8) 新特性——Stream ApI
在java8 中,有两个最重要的改变,一个就是之前了解的Lmbda java8 (jdk 1.8) 新特性——Lambda ,还有一个就是Stream Api
1. 什么是Stream API
简单来说就是一个类库,里边有一些方法方便我们对集合数据进行操作,就好像使用 SQL 语句进行操作数据库一样
优点就是,使我们代码简洁更高效的处理数据,高效!!
官方java8 Api中文文档 在公众号内 回复关键字 【文档】 获取
一个完成的stream 流操作包含以下内容
-
一个数据源,数据源可以是集合,数组
-
中间链的操作 (比如 过滤, 去重,排序 等等)
-
终止操作,产生一个结果(比如重新收集成集合)
例如:
List<UserInfo> userInfoList =new ArrayList<>(); userInfoList.add(new UserInfo(1,"张三",23)); userInfoList.add(new UserInfo(2,"李四",25)); userInfoList.add(new UserInfo(3,"王五",24)); userInfoList.add(new UserInfo(4,"赵六",26)); List<String> collect = userInfoList.stream().filter(info->info.getAge()>=25).map(UserInfo::getName).collect(Collectors.toList());