में सबसे बड़ी संख्या पाएं मैं हैशसेट और हैश मैप में सबसे बड़ी संख्या ढूंढना चाहता हूं। मान लें कि मेरे पास हैशसेट में [22,6763,32,42,33] नंबर है और मैं अपने वर्तमान हैशसेट में सबसे बड़ी संख्या खोजना चाहता हूं..मैं यह कैसे करूँगा? और हैश मैप के लिए भी वही बात है। मुझे उम्मीद है कि आप इसके साथ मेरी मदद कर सकते हैं। धन्यवाद।हैशसेट/हैश मैप जावा
उत्तर
आप किसी भी संग्रह से अधिकतम तत्व खोजने के लिए Collections.max(Collection)
का उपयोग कर सकते हैं। इसी तरह, HashMap
के लिए, आप उसी विधि का उपयोग अपने keySet()
या values()
पर कर सकते हैं, इस पर निर्भर करता है कि आप अधिकतम कुंजी या अधिकतम मान चाहते हैं या नहीं।
इसके अलावा, अगर आप इस तरह के रूप में चाहते हैं, तो आप एक TreeSet
और TreeMap
बजाय उपयोग कर सकते हैं, कि क्रमबद्ध कुंजी क्रम में तत्वों संग्रहीत करता है।
+1 छोटा और सटीक –
वाह .. धन्यवाद .. यह बहुत मदद करता है। :) – user2064467
@ user2064467। आपका स्वागत है :) –
आप एक HashSet
/HashMap
उपयोग करने के लिए मजबूर किया जाता है, तो आप अधिकतम खोजने के लिए पूरे HashSet
/HashMap
स्कैन करने के लिए है। Collections.max()
जैसे लाइब्रेरी फ़ंक्शन इस तरह करेंगे।
आप अधिकतम की O(1)
पुनः प्राप्ति चाहते हैं, और आप संग्रह का प्रकार बदलने के लिए इस्तेमाल किया जा रहा है, एक क्रमबद्ध सेट/नक्शा (जैसे TreeSet
/TreeMap
) का उपयोग की अनुमति दी जाती है।
ओ (1) केवल नक्शा कुंजी पर काम करता है; मूल्यों के लिए एक अलग संग्रह का निर्माण पहले किया जाना चाहिए, इसलिए यह ओ (एन) फिर से, एक बहुत ही खराब स्थिर कारक के साथ है। –
यह भी ध्यान रखें कि ट्रीसेट को सम्मिलन और हटाने के लिए महंगा हो जाता है। तो बुद्धिमानी से सही कार्यान्वयन का चयन करें –
कुछ इस तरह:
Set<Integer> values = new HashSet<Integer>() {{
add(22);
add(6763);
add(32);
add(42);
add(33);
}};
int maxValue = Integer.MIN_VALUE;
for (int value : values) {
if (value > maxValue) {
maxValue = value;
}
}
और यह:
Map<String, Integer> values = new HashMap<String, Integer>() {{
put("0", 22);
put("1", 6763);
put("2", 32);
put("3", 42);
put("4", 33);
}};
int maxValue = Integer.MIN_VALUE;
for (int value : values.values()) {
if (value > maxValue) {
maxValue = value;
}
}
केवल उस सरल उद्देश्य के लिए हैश मैप को प्रारंभ करने का भयानक तरीका एक नई कक्षा बनाई जानी चाहिए। जब भी मैं इसे कोड में देखता हूं, मैं इसे हर बार नफरत करता हूं। – Kamil
इतना भयानक क्या है? मुझे इसमें कोई नुकसान नहीं दिखता है। – duffymo
मैंने जो लिखा है, वह कुछ तत्वों के साथ मानचित्र बनाने के उद्देश्य से नई कक्षा बनाता है। यह बहुत धीमा है (स्टैक ओवरफ्लो पर इसके परीक्षण हैं)। – Kamil
कोशिश
int max = Collections.max(set);
int maxKey = Collections.max(map.keySet());
int maxValue Collections.max(map.values());
ट्री-मैप के मामले में, यदि आप जानते हैं कुंजी/मान बेतरतीब ढंग से डाला जाता है, पेड़ कम या ज्यादा संतुलित होगा। पेड़ असंतुलित हो जाते हैं, यदि डेटा पहले से क्रमबद्ध क्रम में डाला गया है, तो किसी दिए गए तत्व को तुरंत ढूंढने (या डालने या हटाने) की क्षमता खो जाती है। असंतुलित पेड़ के मामले में, इसमें एन, ओ (एन) अन्य ओ (1) के लिए आनुपातिक समय लगेगा।
Apache Commons Math का उपयोग करने पर विचार करें। यहां API docs है।
ब्याज की कक्षा SummaryStatistics है। यह double
एस के साथ काम करता है और फ्लाई पर अधिकतम, न्यूनतम, माध्य इत्यादि की गणना करता है (जैसा कि आप इसमें मूल्य जोड़ते हैं)। डेटा मान स्मृति में संग्रहीत नहीं होते हैं, इसलिए इस वर्ग का उपयोग बहुत बड़ी डेटा स्ट्रीम के आंकड़ों की गणना करने के लिए किया जा सकता है।
यहाँ एक सरल तरीका है जिसके करता है कि तुम क्या कह रहे हैं यह है:
public String getMapKeyWithHighestValue(HashMap<String, Integer> map) {
String keyWithHighestVal = "";
// getting the maximum value in the Hashmap
int maxValueInMap = (Collections.max(map.values()));
//iterate through the map to get the key that corresponds to the maximum value in the Hashmap
for (Map.Entry<String, Integer> entry : map.entrySet()) { // Iterate through hashmap
if (entry.getValue() == maxValueInMap) {
keyWithHighestVal = entry.getKey(); // this is the key which has the max value
}
}
return keyWithHighestVal;
}
- 1. जावा, हैश मैप
- 2. जावा कंसूरेंट हैश मैप
- 3. जावा हैश मैप बनाम JSONObject
- 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. हैश मैप
आप ऐसा करने की जरूरत है, तो आप शायद एक हैश आधारित संग्रह का उपयोग नहीं किया जाना चाहिए। –