2010-11-05 13 views
6

मुझे जावा के लिए मल्टीमैप का कार्यान्वयन कहां मिल सकता है जो एंड्रॉइड पर किसी भी अन्य कक्षाओं को शामिल किए बिना काम करेगा। कार्यान्वयन मैंने पाया है कि सभी को अन्य चीजों की आवश्यकता है जिसके लिए अन्य की आवश्यकता है चीजें और यह गन्दा जल्दी हो जाता है। मैं सी ++ से एक प्रोजेक्ट पोर्ट कर रहा हूं और जावा में नया हूं (और यह प्रोजेक्ट भी है, इसलिए मैं काम करने के दौरान चीजों को यथासंभव समान रखने की कोशिश कर रहा हूं) इसलिए कोई संदर्भ या उदाहरण बहुत अच्छा होगा।मैं एंड्रॉइड पर जावा में एक मल्टीमैप कैसे बना सकता हूं

उत्तर

17

आप एक मल्टीमैप बनाने के लिए मानचित्र और एक सूची का उपयोग कर सकते हैं। आप वर्ग प्रकार टी उपयोग निम्न कोड की सूची के साथ एक पूर्णांक संबद्ध करने के लिए चाहता था कहते हैं:

Map<Integer, List<T>> myMultiMap = new HashMap<Integer, List<T>>();

यह गंदा हो सकता है लेकिन, यह आप देना चाहिए कि आप क्या देख रहे हैं।

एक और विकल्प Guava लाइब्रेरी के Multimap कार्यान्वयन का उपयोग करना है।

+0

मैं गुवा को देख रहा था, लेकिन यह मल्टीमैप कार्यान्वयन दिखता है जैसे कि इसे कुछ अन्य वर्गों की आवश्यकता होती है, जिसके बदले में दूसरों की आवश्यकता होती है ... मैं स्थापित नहीं करना चाहता और नई सामग्री का ढेर शामिल नहीं करना चाहता, मैं बस एक साधारण मल्टीमैप चाहता हूं यह पोर्टिंग को सरल बनाने के लिए सी ++ में ऐसा व्यवहार करेगा। हालांकि सुझावों के लिए धन्यवाद, क्या मुझे कुछ साफ साफ करने में असफल होना चाहिए, जैसा कि आप अनुशंसा करते हैं, मैं मानचित्र/सूची को लागू कर सकता हूं, लेकिन फिर मुझे उस संरचना का कुछ प्रबंधन बनाना होगा ... – ima747

+0

एक मानचित्र में सूचीबद्ध करें मेरी जरूरतों के लिए सबसे अच्छा समाधान। – ima747

5

ऐसा लगता है कि आप Apache Commons Collection लाइब्रेरी की तलाश में हैं। वहां आपके पास MultiMap कक्षा है। मैंने अभी तक इसका परीक्षण नहीं किया है इसलिए मैं यह वादा नहीं कर सकता कि यह काम करता है लेकिन यह सिर्फ आपके प्रोजेक्ट के लिए सही दिखता है।

आपको जावा में मल्टीमैप फ़ंक्शन नहीं मिलेगा, इसलिए अन्य ने इसमें पुस्तकालयों को लिखा है। हालांकि, यदि आप ज्ञान-स्तर पर्याप्त हैं तो आप इसे स्वयं लागू करने का प्रयास कर सकते हैं लेकिन इसके लिए कुछ जावा अनुभव की आवश्यकता होगी। तो आपकी सबसे अच्छी शर्त यह जानने का प्रयास करना है कि कैसे उपयोग करें और यदि आवश्यक हो तो एंड्रॉइड पर उनका उपयोग करने के लिए पुस्तकालयों को अनुकूलित करें।

1

आप कोड आकार के बारे में परवाह है, तो हम बस हमारी उपयोगिता पुस्तकालय के लिए multimaps कहा: http://greenrobot.org/2015/12/11/multimaps-in-greenrobot-common-2-2/

जार रास्ता नीचे 100k है, जो अच्छा है अगर आप Android के 65K विधि सीमा पर विचार करें।