Java使用List的Stream流筛选结果

问题遇到的现象和发生背景

 public static void main(String[] args) {

        List<User> list = new ArrayList<>();
        User user1 = new User();
        user1.setId("1");
        user1.setUsername("小明");
        list.add(user1);

        User user2 = new User();
        user2.setId("2");
        user2.setUsername("小张");
        list.add(user2);

        User user3 = new User();
        user3.setId("3");
        user3.setUsername("小莉");
        list.add(user3);

        User user4 = new User();
        user4.setId("4");
        user4.setUsername("大聪明");
        list.add(user4);

        System.out.println(list);

        List<String> idList = new ArrayList<>();
        idList.add("1");
        idList.add("3");

        //使用lambda表达式获取ID为13的List<User>
        List<User> resList = new ArrayList<>();
    }

@Data
public class User {

    private String id;

    private String username;

}


问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

筛选出来id为1和3的list

stream是比较常用的 建议去找下相关文章 深入学习下


List<User> collect = list.stream().filter(user -> "1".equals(user.getId()) || "2".equals(user.getId())).collect(Collectors.toList());

Stream.filter 可以解决