संपादित करें: समस्या को ठीक से समझाया गया है।क्या हैशसेट्स को हैश मैप में चाबियाँ मिल सकती हैं? यदि कोई विकल्प नहीं है तो
मेरे पास एक हैशप है जहां मैं एक साथ देखे गए शब्दों (कुंजी) और उन रेखाओं को सेट करना चाहता हूं जिनमें उन्हें एक साथ देखा गया था (मान)। ,
आम, केला, सेब
सेब, केला
आड़ू वालरस
:
वालरस, आड़ू
HashMap<HashSet<String>, HashSet<Integer>> hm= ...
आदानों के लिए
: यह संरचना मैं के साथ आया है
जैसा कि मैंने इसे पढ़ा है, लाइन से लाइन, मैं लाइन में शब्दों के संयोजन से नई अस्थायी कुंजी (हैशसेट अभी तक हैशप में डाला नहीं गया) बना देता हूं। प्रत्येक अस्थायी कुंजी लाइन में शब्दों के सबसेट का हैशसेट है। एक अस्थायी कुंजी पहले से ही मेरे hashmap, में मौजूद है मैं द्वारा
if(hashmap.containsKey(hashset))
जाँच जो मैं बस उस कुंजी का मान संबद्ध करने के लिए नई लाइन जोड़ने के लिए, यदि नहीं, तो मैं hashmap में एक नई प्रविष्टि बनाने के लिए और यह ध्यान रखना।
कोई भी बिंदु मैं किसी मौजूदा कुंजी को बदल नहीं सकता। मैं केवल हैमपैप में उनके संबंधित मानों को अद्यतन करता हूं।
मेरी hashmap, फ़ाइल को पढ़ने के अंत में, इस
[सेब, केला] की तरह कुछ = [1,2]
दिखना चाहिए[आड़ू, वालरस] = [3,4]
...
समस्याकि कोड की
if(hashmap.containsKey(hashset))
टुकड़ा ALW नहीं है ऐस मौजूदा कुंजी का पता लगाता है। ऐसा क्यों है? क्या इस संरचना की अनुमति नहीं है?
आप
क्या आपने इसे आजमाया है? – pcalcao
लाइन 5 को 'आड़ू, वालरस' के साथ मैप नहीं किया जाएगा? और 'आम' के बारे में क्या? – Thomas
@pcalcao हाँ। यह अजीब व्यवहार करता है। कभी-कभी यह अस्तित्व में मौजूद सेट का पता लगाता है, कभी-कभी नहीं। मैं बस हैश मैप हैशसेट को संभाल सकता है या नहीं, इसकी पुष्टि करना चाहता हूं। – student101