现在有这么一个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