十个方法,让我精通了lamada表达式
一共整理了10个工具方法,可以满足 Collection、List、Set、Map 之间各种类型转化。例如
将
Collection<OrderItem>
转化为List<OrderItem>
将
Collection<OrderItem>
转化为Set<OrderItem>
将
List<OrderItem>
转化为List<Long>
将
Set<OrderItem>
转化为Set<Long>
将
Collection<OrderItem>
转化为List<Long>
将
Collection<OrderItem>
转化为Set<Long>
从
Collection<OrderItem>
中提取 Key, Map 的 Value 就是类型 OrderItem从
Collection<OrderItem>
中提取 Key, Map 的 Value 根据 OrderItem 类型进行转化。将
Map<Long, OrderItem>
中的value 转化为Map<Long, Double>
value 转化时,lamada表达式可以使用
(v)->{}
, 也可以使用(k,v)->{ }
。
看 Collection
集合类型到 Map类型的转化。
Collection 转化为 Map
由于 List 和 Set 是 Collection 类型的子类,所以只需要实现Collection
类型转化为 Map 类型即可。 Collection转化为 Map 共分两个方法
从
Collection<OrderItem>
到Map<Key, OrderItem>
,提取 Key, Map 的 Value 就是类型 OrderItem从
Collection<OrderItem>
到Map<Key,Value>
,提取 Key, Map 的 Value 根据 OrderItem 类型进行转化。
使用样例
代码示例中把Set<OrderItem>
转化为 Map<Long, OrderItem>
和 Map<Long ,Double>
。
代码展示
Map格式转换
转换 Map 的 Value
将 Map<Long, OrderItem> 中的value 转化为 Map<Long, Double>
value 转化时,lamada表达式可以使用(v)->{}, 也可以使用 (k,v)->{ }。
测试样例
代码展示
集合类型转化
Collection 和 List、Set 的转化
将
Collection<OrderItem>
转化为List<OrderItem>
将
Collection<OrderItem>
转化为Set<OrderItem>
测试样例
List和 Set 是 Collection 集合类型的子类,所以无需再转化。
List、Set 类型之间的转换
业务中有时候需要将 List<A>
转化为 List<B>
。如何实现工具类呢?
测试样例
将
List<OrderItem>
转化为List<Long>
将
Set<OrderItem>
转化为Set<Long>
将
Collection<OrderItem>
转化为List<Long>
将
Collection<OrderItem>
转化为Set<Long>