jdk1.8新特性—Stream

现在有这么一个List:

List<User> list = new ArrayList<User>();
list.add(new User("Jack",24));
list.add(new User("Rose",20));
list.add(new User("Tom",18));
list.add(new User("Michael",19));

筛选出年龄<20的用户的名字:

//一步到位:
list.stream().filter(item->item.getAge()<20).map(item->item.getName()).collect(Collectors.toList());

//分步为:
Stream<User> stream = list.stream();//返回Stream对象
Stream<User> filterList = stream.filter(item->item.getAge()<20);//过滤掉年龄>=20的用户,返回类型还是Stream
Stream<String> names = filterList.map(item->item.getName());//吃User列表中获取name的列表
List<String> resNames = names.collect(Collectors.toList());//将Stream字节流转成List
发布了98 篇原创文章 · 获赞 9 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/liucai1018/article/details/103662863