1,拦截
list.stream().filter()
//输出ID大于6的user对象
List<User> filetrUserList = userList.stream().filter(user -> user.getId() > 6).collect(Collectors.toList());
filetrUserList.forEach(System.out::println);
2,映射
list.stream().map()
把一个字段映射成一个新的集合使用
List<String> mapUserList = userList.stream().map(user -> user.getName() + "用户").collect(Collectors.toList());
mapUserList.forEach(System.out::println);
user -> user.getName:正则表达式,获取user的name值
3,去重
去除集合里重复的数据
list.stream().distinct()
List<String> distinctUsers = userList.stream().map(User::getCity).distinct().collect(Collectors.toList());
distinctUsers.forEach(System.out::println);
::代表直接执行类的方法,直接使用,无需考虑方法里是否有属性
4,循环
list.stream().forEach()
userList.stream().forEach(user -> System.out.println(user));
userList.stream().filter(user -> "上海".equals(user.getCity())).forEach(System.out::println);
5,转换
转换成list集合
list.stream.collect(Collectors.toList())
List<Integer> idList = userList.stream().map(User::getId).collect(Collectors.toList()) ;
转换为map集合
list.stream.collect(Collectors.toMap(key,value))
Map<Integer,String> userMap = userList.stream().collect(Collectors.toMap(User::getId,User::getName));
转换为set集合
list.stream.collect(Collectors.toSet)
Set<String> citySet = userList.stream().map(User::getCity).collect(Collectors.toSet());