मैं MutableMap
with defaults उपयोग करना चाहते हैं:डीफॉल्ट रैपर के साथ कैसे उपयोग करें?
val myMap = mutableMapOf<String, Set<String>>().withDefault { mutableSetOf() }
लेकिन मैं getOrImplicitDefault
विधि क्योंकि withDefault
रिटर्न MutableMap<String, Set<String>>
प्रकार का उपयोग नहीं कर सकते हैं। इसके अलावा, मैं MutableMapWithDefault
इंटरफेस पर नहीं डाल सकता क्योंकि this is a private interface।
मैं get
विधि का उपयोग नहीं कर सकता क्योंकि यह एक शून्य प्रकार देता है। यह ठीक है क्योंकि यह MutableMap
इंटरफ़ेस पर एक विधि है (इसके अलावा यह defaultValue
डिफ़ॉल्ट मान लेने के लिए कॉलबैक नहीं कॉल करता है)।
ऐसा लगता है कि इस कार्यक्षमता को कोटलिन में सही ढंग से लागू नहीं किया गया है, या मैं इसे गलत उपयोग कर रहा हूं। तो, मैं withDefault
रैपर का सही तरीके से उपयोग कैसे करूं?
अमरूद ['SetMultimap'] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/SetMultimap.html) या [' लोडिंग कैश'] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/cache/LoadingCache.html) जो आप पूरा करने की कोशिश कर रहे हैं उसके लिए बेहतर फिट की तरह दिखते हैं। – mfulton26