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);
    }
相关推荐
ybq1951334543123 分钟前
Redis-主从复制-分布式系统
java·数据库·redis
weixin_472339461 小时前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
小毛驴8501 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
DKPT2 小时前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
好奇的菜鸟3 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
DuelCode4 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
优创学社24 小时前
基于springboot的社区生鲜团购系统
java·spring boot·后端
幽络源小助理5 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring
猴哥源码5 小时前
基于Java+springboot 的车险理赔信息管理系统
java·spring boot
YuTaoShao5 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展