में सूची के रूप में स्ट्रिंग और वैल्यू के रूप में कुंजी के साथ मानचित्र करें क्या कोई मुझे ग्रोवी में Map
का उपयोग करने के उदाहरण के बारे में बता सकता है जिसमें String
इसकी कुंजी और List
मूल्य के रूप में है?ग्रोवी
Q
ग्रोवी
20
A
उत्तर
27
ग्रूवी लगभग सभी जावा वाक्य रचना को स्वीकार करता है, तो विकल्प की एक स्पेक्ट्रम के रूप में नीचे दिखाया गया है, वहाँ है:
// Java syntax
Map<String,List> map1 = new HashMap<String,List>();
List list1 = new ArrayList();
list1.add("hello");
map1.put("abc", list1);
assert map1.get("abc") == list1;
// slightly less Java-esque
def map2 = new HashMap<String,List>()
def list2 = new ArrayList()
list2.add("hello")
map2.put("abc", list1)
assert map2.get("abc") == list2
// typical Groovy
def map3 = [:]
def list3 = []
list3 << "hello"
map3.'abc'= list1
assert map3.'abc' == list3
13
def map = [:]
map["stringKey"] = [1, 2, 3, 4]
map["anotherKey"] = [55, 66, 77]
assert map["anotherKey"] == [55, 66, 77]
5
एक अतिरिक्त छोटा-सा हिस्सा उपयोगी में मूल्य के रूप में/सूची है जब नक्शे के साथ काम एक नक्शा withDefault(Closure)
ग्रूवी में नक्शे पर विधि है। इसके बजाय निम्नलिखित कोड करने का:
Map m = [:]
for(object in listOfObjects)
{
if(m.containsKey(object.myKey))
{
m.get(object.myKey).add(object.myValue)
}
else
{
m.put(object.myKey, [object.myValue]
}
}
आप निम्न कर सकते हैं:
Map m = [:].withDefault{key -> return []}
for(object in listOfObjects)
{
List valueList = m.get(object.myKey)
m.put(object.myKey, valueList)
}
डिफ़ॉल्ट के साथ साथ ही अन्य बातों के लिए इस्तेमाल किया जा सकता है, लेकिन मैं यह मेरे लिए सबसे अधिक आम उपयोग पाते हैं।
एपीआई: http://www.groovy-lang.org/gdk.html
मानचित्र -> withDefault (क्लोजर)
1
आप मानचित्र ग्रूवी घोषित करने के लिए की जरूरत नहीं है आंतरिक रूप में पहचानता
def personDetails = [firstName:'John', lastName:'Doe', fullName:'John Doe']
// print the values..
println "First Name: ${personDetails.firstName}"
println "Last Name: ${personDetails.lastName}"
इसके अलावा
संबंधित मुद्दे
- 1. ग्रोवी
- 2. ग्रोवी
- 3. ग्रोवी
- 4. ग्रोवी
- 5. ग्रोवी
- 6. ग्रोवी
- 7. ग्रोवी
- 8. ग्रोवी
- 9. ग्रोवी
- 10. ग्रोवी
- 11. ग्रोवी
- 12. ग्रोवी
- 13. ग्रोवी
- 14. ग्रोवी
- 15. ग्रोवी
- 16. ग्रोवी
- 17. ग्रोवी
- 18. ग्रोवी
- 19. ग्रोवी
- 20. ग्रोवी
- 21. ग्रोवी
- 22. ग्रोवी
- 23. ग्रोवी
- 24. ग्रोवी
- 25. ग्रोवी
- 26. ग्रोवी
- 27. ग्रोवी
- 28. ग्रोवी
- 29. ग्रोवी
- 30. ग्रोवी
: ' map.stringKey = [1, 2, 3, 4]; map.anotherKey = [55, 66, 77] ' – Will