我刚开始编程,如果这是一个愚蠢的问题,我很抱歉。:)
我正试图计算某个键在映射列表或映射中被发现的次数。(可以是任何一个)在我的示例中,我需要知道键key1在变量中出现的次数(请记住,它可以是映射列表或映射)
def test01 = [[key1:'value1', key2:'value1', key3:'value1'], [key1:'value1', key2:'value1', key3:'value1'], [key5:'value1', key2:'value1', key4:'value1']]
def test02 = [key1:'value1', key2:'value1', key3:'value1']
def test03 = test01.findAll{it -> it.key1}.size()
println (test03)
我的代码工作,如果我的变量将是一个映射列表(test01)。但如果我在地图上试一下,它就会刹车。我不确定如何正确地迭代,所以这是ok的地图列表或地图。
谢谢你的帮助!
你可以试试:
countKey = { e -> (e instanceof Map ? [e] : e).count { it.key1 } }
countKey(test01)
countKey(test02)