Saturday 15 September 2012

java - indexFor in hashmap? -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 3 जवाब

    बस मेरे सिर को पाने की कोशिश कर रहा है कोड को देखकर जावा हैशम के कामकाज के आसपास। जब कोई तत्व जोड़ा जाता है, तो निम्न होता है:

    1. कुंजी के लिए हैशोड मिला
    2. परिणाम पर एक हैश फ़ंक्शन लागू किया जाता है
    3. विधि IndexFor 2 के परिणाम पर लागू किया जाता है। यह उपयुक्त बाल्टी में पहली प्रविष्टि देता है। बाल्टी में लिंक्ड सूची को फिर से दोहराया जाता है - अंत पाया जाता है और तत्व जोड़ा जाता है।

      एफ है:

        int indexOf (int H, int लंबाई) {वापसी एच एंड amp; (लंबाई -1); }   

      मैं अनुक्रमणिका में चलने वाली चाल को समझ नहीं पा रहा हूं। क्या कोई इसे समझा सकता है?

      धन्यवाद।

      यह काम करता है क्योंकि जावा हैशमैप हमेशा एक क्षमता है, अर्थात 2 की शक्ति के रूप में बाल्टी संख्या। चलो 256 की क्षमता के साथ काम करते हैं, जो कि 0x100 है, लेकिन यह 2 की किसी भी शक्ति के साथ काम कर सकता है। 2 की शक्ति से 1 घटाकर 0 से लेकर लंबाई - 1 कोड> 256 - 1 = 255 0x100 - 0x1 = 0xFF

      उदाहरण 257 (0x101) का एक हैश बीटावर्ड और 0xFF के साथ एक बाल्टी संख्या 1 की उपज के लिए मिलता है।

No comments:

Post a Comment