You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Groovy中如何过滤键长度小于13的Map?现有代码无法实现

解决Map过滤键长度的问题

你的代码问题出在错误使用了each方法——each仅负责遍历集合,不会过滤元素,最终返回的还是原集合。要实现需求,需把键长度的判断直接放在findAll的闭包条件里。

正确代码示例

Map<String, String> maps = entriesOnlyOnLeft.findAll { entry -> 
    entry.key != null && entry.key.length() < 13 
}

代码说明

  • findAll是Groovy中用于过滤集合的方法,会返回符合闭包条件的元素组成的新Map
  • 先判断entry.key != null,避免原Map存在空键时触发空指针异常
  • 再通过entry.key.length() < 13筛选出键长度小于13的键值对

验证输出

执行上述代码后,打印keySet即可得到目标结果:

log.info("Key Map ---> " + maps.keySet())

内容的提问来源于stack exchange,提问作者Bufank85

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:57