十个方法,让我精通了lamada表达式

admin12个月前笔记127

一共整理了10个工具方法,可以满足 Collection、List、Set、Map 之间各种类型转化。例如

  1. Collection<OrderItem> 转化为 List<OrderItem>

  2. Collection<OrderItem> 转化为 Set<OrderItem>

  3. List<OrderItem> 转化为 List<Long>

  4. Set<OrderItem> 转化为 Set<Long>

  5. Collection<OrderItem> 转化为 List<Long>

  6. Collection<OrderItem> 转化为 Set<Long>

  7. Collection<OrderItem>中提取 Key, Map 的 Value 就是类型 OrderItem

  8. Collection<OrderItem>中提取 Key, Map 的 Value 根据 OrderItem 类型进行转化。

  9. Map<Long, OrderItem> 中的value 转化为 Map<Long, Double>

  10. value 转化时,lamada表达式可以使用(v)->{}, 也可以使用 (k,v)->{  }

Collection 集合类型到 Map类型的转化。

Collection 转化为 Map

由于 List 和 Set 是 Collection 类型的子类,所以只需要实现Collection 类型转化为 Map 类型即可。 Collection转化为 Map 共分两个方法

  1. Collection<OrderItem> Map<Key, OrderItem>,提取 Key, Map 的 Value 就是类型 OrderItem

  2. Collection<OrderItem>Map<Key,Value> ,提取 Key, Map 的 Value 根据 OrderItem 类型进行转化。

使用样例

代码示例中把Set<OrderItem> 转化为 Map<Long, OrderItem>Map<Long ,Double>

image.png

代码展示

image.png

Map格式转换

转换 Map 的 Value

  1. 将 Map<Long, OrderItem> 中的value 转化为 Map<Long, Double>

  2. value 转化时,lamada表达式可以使用(v)->{}, 也可以使用 (k,v)->{  }。

测试样例

image.png

代码展示

image.png

集合类型转化

Collection 和 List、Set 的转化

  1. Collection<OrderItem> 转化为 List<OrderItem>

  2. Collection<OrderItem> 转化为 Set<OrderItem>

image.png

测试样例

image.png

List和 Set 是 Collection 集合类型的子类,所以无需再转化。

List、Set 类型之间的转换

业务中有时候需要将 List<A> 转化为 List<B>。如何实现工具类呢?

image.png

测试样例

  1. List<OrderItem> 转化为 List<Long>

  2. Set<OrderItem> 转化为 Set<Long>

  3. Collection<OrderItem> 转化为 List<Long>

  4. Collection<OrderItem> 转化为 Set<Long>

image.png



相关文章

Linux系统搭建VPN教程,PPTP轻松上网

Linux系统搭建VPN教程,PPTP轻松上网

在当今互联网时代linux系统搭建vpn教程pptplinux系统搭建vpn教程pptp,保护个人隐私和数据安全变得尤为重要。为了实现安全的网络连接,许多人选择使用VPN(Virtual Privat...

MySQL—MySQL架构

MySQL—MySQL架构

MySQL逻辑架构图如下:Connectors连接器:负责跟客户端建立连接;Management Serveices & Utilities系统管理和控制工具;Connection Pool连...

通过 SSH 实现 TCP / IP 隧道(端口转发)

通过 SSH 实现 TCP / IP 隧道(端口转发)

对于 Secure Shell (SSH)[1] 这样的网络协议来说,其主要职责就是在终端模式下访问一个远程系统。因为 SSH 协议对传输数据进行了加密,所以通过它在远端系统执行命...

三款轻量级Linux 网络监视工具

三款轻量级Linux 网络监视工具

 iftop令人称赞的 iftop 可以监听您指定的网络接口,并以 top 的样式呈现。这是一个不错的小工具,可以用于找出网络拥塞,测速和维持网络流量总量。看到自己到底在用多少带宽往往是非常...

Git忽略规则:.gitignore配置

.gitignore文件一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。实际项目中,很多文件都是不需要版本管理的,比如Pyt...

史上最完全的,教你如何在 Linux 中如何打印和管理打印机

史上最完全的,教你如何在 Linux 中如何打印和管理打印机

前提条件为了更好地学习本系列教程,你需要具备基本的 Linux 知识,和使用 Linux 系统实践本教程中的命令的能力,你应该熟悉 GNU 和 UNIX® 命令的使用。有时不同版本的程序输出...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。