Java中List集合過濾出符合條件的List元素集合


  1. 對基本數據類型的過濾
    List<Integer> list=new ArrayList<>();
    list.add(2);
    list.add(4);
    list.add(20);
    list.add(2130);
    list.add(38);
    //過濾包含2的數據
    list=list.stream().filter(v ->!v.toString().contains("2")).collect(Collectors.toList());
    for (Integer integer : list) {
    System.out.println(integer);
    }
    結果集:
    38
  2. 對Map<String,Object>類型數據進行過濾
    List<Map<String,Object> > list=new ArrayList<>();
    Map<String,Object> map1=new HashMap<>();
    map1.put("sum",3);
    Map<String,Object> map2=new HashMap<>();
    map2.put("age",1);
    map2.put("sum",null);
    list.add(map1);
    list.add(map2);
    //過濾Map中key為sum對應的值為null的數據
    list= list.stream().filter(v ->v.get("sum")!=null).collect(Collectors.toList());
    for (Map<String, Object> map : list) {
    System.out.println(map.get("sum"));
    System.out.println(map.get("age"));
    }
    結果集:
    3
    null
  3. 對實體類進行過濾
    List<User> list = new ArrayList<>();
    //數據初始化
    User user = new User();
    user.setAge(10);
    user.setDelFlag(false);
    user.setName("tom");
    user.setPassword("123456");
    User user1 = new User();
    user1.setAge(12);
    user1.setDelFlag(true);
    user1.setName("rose");
    user1.setPassword("123456");
    User user2 = new User();
    user2.setAge(14);
    user2.setDelFlag(false);
    user2.setName("jack");
    user2.setPassword("123456");

    list.add(user);
    list.add(user1);
    list.add(user2);
    //保留未刪除和年齡大於10的用戶對象
    list = list.stream().filter(obj -> obj.getDelFlag() == false && obj.getAge() > 10).collect(Collectors.toList());
    for (User user3 : list) {
    System.out.println(user2);
    }

    class User {
    private String name;
    private Boolean delFlag;
    private Integer age;
    private String password;
        @Override
        public String toString() {
        return "User{" +
    "name='" + name + '\'' +
    ", delFlag=" + delFlag +
    ", age=" + age +
    ", password='" + password + '\'' +
    '}';
        }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public Boolean getDelFlag() {
    return delFlag;
    }

    public void setDelFlag(Boolean delFlag) {
    this.delFlag = delFlag;
    }

    public Integer getAge() {
    return age;
    }

    public void setAge(Integer age) {
    this.age = age;
    }

    public String getPassword() {
    return password;
    }

    public void setPassword(String password) {
    this.password = password;
    }
    結果集
    User{name='jack', delFlag=false, age=14, password='123456'}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM