dictionary - 按列表过滤 Groovy 映射
问题描述
在 groovy 中有一种简单的方法可以通过列表过滤地图的索引。
produce_map = ["grapes":"fruit","apple":"fruit","tomato":"vegetable","peas:"vegetable"]
green_produce_list = ["grapes","apples",'peas']
<magic code>
//desired result
filterd_map = ['apple':'fruit','grapes':'fruit','peas':'vegetable']
解决方案
使用subMap:
创建一个包含给定键的子映射。此方法类似于 List.subList() 但使用键而不是索引范围。原始地图没有改变。
def orig = [1:10, 2:20, 3:30, 4:40] assert orig.subMap([1, 3] as int[]) == [1:10, 3:30] assert orig.subMap([2, 4] as Integer[]) == [2:20, 4:40] assert orig.size() == 4
推荐阅读
- java - 如何使用按钮单击保存多个复选框的状态
- mongodb - 让 spring-data-mongo 将空值插入数据库
- wix - 如何检查 Windows 机器中安装的 AWS CLI
- python - 重采样后得到相同的数据帧
- c# - .NET Core 条件发布取决于已发布的目标运行时
- python - 如何使用 groupby 方法计算数据框的平均值
- c# - 如何提高使用 SkiaSharp 绘制大多边形的性能?
- laravel - Laravel Stripe Cashier - 处理取消、数量和宽限期
- r - 如果有一个 R 函数可以从一行中筛选出所有数字
- c# - 在c#中,如何在编译时间中获取类型