而不是獲取密鑰的映射值,如何獲取密鑰列表或密鑰集合的所有值。Groovy - 獲取密鑰列表的地圖值
0
A
回答
1
def map = [1:"A", 2:"B", 3:"C", 4:"D"]
def keySet = [1, 2, 3]
assert ['A', 'B', 'C'] == keySet.collect{map[it]}
assert ['A', 'B', 'C'] == map.collectMany{k,v -> k in keySet ? [v] : []}
assert ['A', 'B', 'C'] == map.findResults{k,v -> k in keySet ? v : null}
如果我花了一些時間來解決這個問題,那麼很少有其他方法。 :)
0
我認爲你正在尋找方便的方法,如強大的Python
切片。在groovy
對於本發明的方法subMap
內搭鍵列表:
Map m = [one: 1, two: 2, three: 3, four: 4]
m.subMap(['two', 'three'])
// Off course with groovy flexible syntax you may do simple:
m.subMap('two', 'three')
// Or even:
m.subMap 'two', 'three', 'non-existent'
兩種變體將返回['two':2, 'three':3]
。
如果我們請求不存在的密鑰,也不會有錯誤。
作爲論點,你可能真的提供任何收集不僅List
,例如Range
也可能是非常有用的。
您可能會在Klein Ikkink博客文章中找到一些其他示例:http://mrhaki.blogspot.ru/2009/10/groovy-goodness-getting-submap-from-map.html
相關問題
- 1. 獲取這些密鑰值相等的密鑰列表
- 2. 從unordered_map獲取密鑰和值列表
- 3. Enum:獲取密鑰列表
- 4. 獲取值的密鑰而不是獲取密鑰值?
- 5. 獲取地圖的Android密鑰生成
- 6. Android地圖 - 獲取密鑰的問題
- 7. 合併列表共享密鑰在Groovy
- 8. 獲取Google地圖API密鑰
- 9. 獲取谷歌地圖API密鑰
- 10. 獲取Android公共地圖API密鑰
- 11. 如何從groovy的關鍵列表/值列表中獲取地圖?
- 12. 從scala獲取地圖rdd中的密鑰值
- 13. 如何獲得列表中所有密鑰的密鑰列表?
- 14. Android獲取JSON密鑰值
- 15. 從密鑰獲取值PHP
- 16. 從redis獲取密鑰列表?
- 17. HBase Shell:獲取行密鑰列表
- 18. 如何從js地圖獲取密鑰和值
- 19. 無法獲取MD5以獲取地圖API密鑰?
- 20. 獲取密鑰
- 21. Groovy列表和地圖
- 22. groovy:從地圖中的鍵中獲取一個值(這是一個列表)
- 23. 如何從值列表中獲取密鑰?
- 24. 將列表的列表寫入CSV,但只能獲取密鑰
- 25. 獲取散列表中密鑰列表的時間複雜度?
- 26. 如何使用JSON.net獲取密鑰和密鑰的子值?
- 27. 讀取stdclassObject以獲取密鑰和值
- 28. NSLocalizedStringFromTableInBundle:無法獲取密鑰的值
- 29. 獲取密鑰的值時,有在xml
- 30. 獲取設置密鑰的值[T]