Lambd 集合 List filter使用

工具 / 2022-12-12

Lambd 集合 List filter使用

filter 一般适用于list 主要作用就是模拟sql查询,从集合中查询想要的数据

/**
 * @author zwy
 * @since 2022-12-12
 */
@Builder
@Setter
@Getter
@ToString
class user{
    String name;
    String passw;
    
public static void main(String[] args) {
        ArrayList<user> users = new ArrayList<>();
        user zhangsan = user.builder().passw("123456").name("zhangsan").build();
        user lisi = user.builder().passw("123456").name("lisi").build();
        user wangwu = user.builder().passw("123456").name("wagnwu").build();

        users.add(zhangsan);
        users.add(lisi);
        users.add(wangwu);
    
    	//通过filter获取符合条件的 user集合
        List<user> collect = users.stream().filter(user -> "123456".equals(user.passw)).collect(Collectors.toList());
        collect.forEach(System.out::println);
    	//通过filter获取单个符合条件的 user 对象
        user first = users.stream().filter(user -> "lisi".equals(user.name)).findFirst().get();

        System.out.println(first);

    }
}