stream.filter一般適用於list集合,主要作用就是模擬sql查詢,從集合中查詢想要的數據。filter里面的參數user是指集合里面的每一項
public class StreamTest{
public static void main(String[] args){
List<User> list = new ArrayList<>();
//定義三個用戶對象
User user1 = new User();
user1.setUsername("huxiansen");
user1.setPassword("123456");
User user2 = new User();
user2.setUsername("huxianseng");
user2.setPassword("123456");
User user3 = new User();
user3.setUsername("huxiansen");
user3.setPassword("12345");
//添加用戶到集合中
list.add(user1);
list.add(user2);
list.add(user3);
//在集合中查詢用戶名為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();
System.out.println(userList);
System.out.println(user);
}
}