stream流做的那些事

假如一个学生类的list集合,返回50条数据;我只需要该集合中的学生姓名name字段,其他的字段都不想要,那么可以

java 复制代码
String gender="男";
List<Student> students = studentMapper.selectListByQuery(QueryWrapper.create()
.where(STUDENT.GENDER.eq(gender)));
List<String> nameList = students.stream().map(Student::getName).collect(Collectors.toList());
//nameList存的全是name字段的值

通过stram流把Student集合转换成StudentAo集合,案例

java 复制代码
 public R<Page<StudentAo>> sysGetPage(@RequestBody StudentVo vo) {
        Page<Student> page = studentService.page(vo.getPage(), vo.giveQuerywrapper());
        Page<StudentAo> pageAo =new Page<>();
        List<Student> records = page.getRecords();
        List<StudentAo> collect = records.stream().map(student -> {
            StudentAo ao = new StudentAo();
            BeanUtils.copyProperties(student, ao);
            return ao;
        }).collect(Collectors.toList());
        pageAo.setRecords(collect);
        pageAo.setPageSize(page.getPageSize());
        pageAo.setPageNumber(page.getPageNumber());
        pageAo.setTotalPage(page.getTotalPage());
        pageAo.setTotalRow(page.getTotalRow());
        return R.ok("成功",pageAo);
    }
相关推荐
Flittly3 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了3 小时前
Java 生成二维码解决方案
java·后端
人活一口气8 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP10 小时前
Vibe Coding -- 完整项目案例实操
java
荣码10 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing10 小时前
Google第三方授权登录
java·后端·程序员
明月光81810 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑19 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯20 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路1 天前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java