首页 > 编程语言 >java 集合过滤出符合条件的List元素集合(lambda表达式)

java 集合过滤出符合条件的List元素集合(lambda表达式)

时间:2023-03-30 16:11:29浏览次数:45  
标签:TSmClazz java String void List 集合 return public name

应用场景

在项目开发的过程中,我们经常会对List集合进行按条件的过滤,筛选出我们想要的结果或者是符合项目需求的数据。比如:我们有一批学生对象,每个学生都有自己的性别属性,但是我们想要再班级实体中筛选出这一批学生中性别为男或女的学生,我们就需要对这一批学生集合中的数据进行按条件的筛选,得到我们想要的结果。(多表连接:双向映射)
学生实体类

public class Student implements Serializable {
    private int id;
    private String name;
    private String sex;
    private String hobbies;
    private Integer bj;
    private TSmClazz clazz;
 
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "BJ", insertable = false, updatable = false)
    @NotFound(action = NotFoundAction.IGNORE)
    @JsonIgnoreProperties(value = "students")
    public TSmClazz getClazz() {
        return clazz;
    }
 
    public void setClazz(TSmClazz clazz) {
        this.clazz = clazz;
    }
 
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID", unique = true, nullable = false)
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    @Column(name = "NAME")
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    @Column(name = "SEX")
    public String getSex() {
        return sex;
    }
 
    public void setSex(String sex) {
        this.sex = sex;
    }
 
    @Column(name = "HOBBIES")
    public String getHobbies() {
        return hobbies;
    }
 
    public void setHobbies(String hobbies) {
        this.hobbies = hobbies;
    }
 
    @Column(name = "BJ")
    public Integer getBj() {
        return bj;
    }
 
    public void setBj(Integer bj) {
        this.bj = bj;
    }

 

使用Java8中的lambda表达式过滤

返回集合:

        ModelMap model = new ModelMap();
        TSmClazz TSmClazz = tSmClazzService.get(id);
        List<Student> students = TSmClazz.getStudents();
        if(flag.equals("0")){
            List<Student> boys =students.stream().filter(s->s.getSex().equals("0")).collect(Collectors.toList());
            model.put("data", boys);
        }else if(flag.equals("1")){
            List<Student> girls =students.stream().filter(s->s.getSex().equals("1")).collect(Collectors.toList());
            model.put("data", girls);
        }else{
            model.put("data", students);
        }

 

或单体类:

goodsKind = goodsKindList.stream().filter(s->s.getId().equals(storeGoods.getKindNext())).collect(Collectors.toList()).get(0);

 

 

前端显示

 

标签:TSmClazz,java,String,void,List,集合,return,public,name
From: https://www.cnblogs.com/Fooo/p/17273177.html

相关文章

  • Java 8 函数式编程
    1Java8函数式编程2java.util.function.*3@FunctionalInterface4都是函数接口,没有成员(状态)56高阶函数:参数或返回值为函数78方法引用:类名::方法......
  • java中拦截器的使用
    实现类packagecn.com.yusys.yusp.mcp.interceptor;importcn.com.yusys.yusp.commons.session.context.UserContext;importcn.com.yusys.yusp.commons.session.user......
  • python——list求交集、并集、差集
    https://blog.csdn.net/qq_41985134/article/details/122956104   ......
  • springboot注册Servlet、Filter、Listener的方式
    方式一:注解@WebServlet@WebFilter@WebListener在实现类上使用该注解即可一键注册方式二:配置类在@Configuration标识的配置类中通过RegistrationBean进行注册@Beanp......
  • IDEA插件google-java-format代码格式化保存时自动格式化
    安装google-java-format启用google-java-format安装saveactions启用saveactions,保存时自动格式化,将没用的import语句删除自动优化导包如果用的是2022......
  • Java 敞 HashCode
    HashCode算法长话短说,Java的Object.hashCode()实现算法,据get_next_hash所述,可选方案有多种,默认为5.>java-XX:+UnlockExperimentalVMOptions-XX:+PrintFlagsFin......
  • Java异步编程CompletableFuture
    Java通过多线程可以实现异步编程,下面是一个使用Java多线程实现异步编程的示例:publicclassAsyncDemo{publicstaticvoidmain(String[]args){Exec......
  • future.get()处理多个线程的java例子
    一种代码示例是使用ExecutorService类的submit()方法提交多个Callable任务,并返回多个Future对象,然后在主线程中循环调用Future对象的get()方法获取结果,并进行汇总1。代码......
  • Java流程控制(分支结构、循环结构)
    目录JavaSE流程控制分支结构if...else循环结构whiledowhilefor关键字JavaSE流程控制分支结构if...else//单分支,()中的条件成立,则执行if代码块if(){}//双分支,()......
  • Expression #1 of ORDER BY clause is not in SELECT list
    mysql问题Code:3065,SQLState:HY000,Expression#1ofORDERBYclauseisnotinSELECTlist,referencescolumn'name'whichisnotinSELECTlist;thisisincom......