当前位置: 首页 > article >正文

Java之Stream的实用语法

1. 转Map

List<Book> books = bookMapper.list();
Map<String, Book> bookMap = books.stream().collect(Collectors.toMap(Book::getBookId, book -> book));

结果结构

{
    "1": {
        "bookId": "1",
        "bookTitle": "书1"
    },
    "2": {
        "bookId": "2",
        "bookTitle": "书2"
    },
}

2. 字符串拼接

List<Book> books = bookMapper.list();
String bookNames = books.stream().map(Book::getBookTitle).collect(Collectors.joining(","));

结果结构

"书1,书2"

3. 类型转换

List<Book> books = bookMapper.list();
List<Book2> book2s = books.stream().map(book -> {
    Book2 book2 = new Book2();
    BeanUtils.copyProperties(book, book2);
}).collect(Collectors.toList());

4. 条件判断(存在任意匹配的)

List<Book> books = bookMapper.list();
if (books.stream().anyMatch(book -> !book.getBookTitle.contains("书"))) {
    throw new RuntimeException("存在非正常书名称");
} else {
    return books;
}

5. 条件判断(无匹配的)

List<Book> books = bookMapper.list();
if (books.stream().noneMatch(book -> "1".equals(book.getType()))) {
    throw new RuntimeException("无指定类型的书籍");
}

6. 修改数据项

List<Book> books = bookMapper.list();
return books.stream().peek(book -> book.setBookTitle(null)).collect(Collectors.toList());

7. 过滤

List<Book> books = bookMapper.list();
return books.stream().filter(book -> "1".equals(book.getType())).collect(Collectors.toList());

8. 排序

List<Book> books = bookMapper.list();
return books.stream().sorted(Comparator.comparing(Book::getCreateTime)).collect(Collectors.toList());

http://www.kler.cn/a/152454.html

相关文章:

  • 掌握区块链技术将推进2024年市场发展脚步
  • 在Rust中编写自动化测试
  • Go语言与Java:一场编程语言之争
  • 用element ui上传带参数的文件,并用flask接收
  • 算法通关村第五关—队栈和Hash的经典问题(白银)
  • 人才缺口达150万!云计算凭什么这么火?
  • 计算机网络(二)
  • Spring Security 6.x 系列(7)—— 源码分析之Builder设计模式
  • 【办公软件】电脑开机密码忘记了如何重置?
  • 通过lua脚本在redis中处理json数据
  • web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)
  • 服务器内存使用率高的原因及解决方法_Maizyun
  • Docker配置Halo搭建个人博客-快速入门
  • 压力测试+接口测试
  • 形态学操作—底帽运算
  • 易石无代码开发:电商平台连接CRM与客服系统,实现营销自动化
  • java 偏向锁 10个课题
  • leetcode704. 二分查找
  • 前端页面构成有哪些,分别是什么?
  • 容器技术发展史,编排与容器的技术演进之路——2