最近又看到别人用这种东西: stream().filter(timerTaskDTO -> ("N") .equals(timerTaskDTO.getIsActive())).collect(Collectors.toList());、
作用:查找符合条件的对象集合,所以返回值一定是个List
用法:
//在集合中查询用户名为huxiansen的集合
List<User> userList = list.stream().filter(user -> "huxiansen".equals(user.getUsername())).collect(Collectors.toList());
//在集合中查询出第一个用户密码为123456的用户
Optional<User> user = list.stream().filter(userTemp -> "123456".equals(userTemp.getPassword())).findFirst();
还看到别人这样用:
User user1 = userList.stream().filter(user -> "zhangsan".equals(user.getUserName())).findAny().orElse(null);
findAny()表示将其中任意一个返回;【注意:在Java 8 Stream中, findFirst()返回Stream中的第一个元素,而findAny()返回Stream中的任何元素。】
orElse(null)表示如果一个都没找到返回null。