2012-01-11 16 views
5

लौटाता है, मैं एक नक्शा कार्यान्वयन की तलाश कर रहा हूं जो अनुरोधित कुंजी से जुड़े मूल्य को वापस कर देता है, या यदि उपस्थित नहीं है तो निकटतम मूल्य, उच्च या निम्न अनुरोध के साथ लौटाता है (साथ ही वास्तविक कुंजी, शायद एक मानचित्र के रूप में। एंटर्री)।
अल्फा: ऐ, बीटा नाम: बी, चार्ली: CEE, डेल्टा:क्या कोई नक्शा नक्शा कार्यान्वयन है जो निकटतम निहित कुंजी

उदाहरण के लिए यदि मानचित्र निम्नलिखित स्ट्रिंग कुंजी/मान जोड़े निहित डी
और आप "अगला उच्च" "कनाडा के लिए" के लिए पूछना आप वापस मिलेगा चार्ली: CEE

बेशक

यदि आप उच्च अगला "चार्ली" तुम वापस मिलेगा चार्ली के लिए कम अगले के लिए पूछ सकते हैं या: CEE

यह एक तुलनित्र का उपयोग करना चाहिए, ताकि अगर यह कंटेनर संख्या चाबियाँ 1, 2, 3 और मैं 1.4 के लिए अगला उच्च अनुरोध करता हूं, यह 2 कुंजी लौटाएगा।

उत्तर

11

एक NavigableMap उपयोग: http://docs.oracle.com/javase/6/docs/api/java/util/NavigableMap.html

विशेष रूप से, floorEntry या ceilingEntry या एक संयोजन का उपयोग करें।

ट्री-मैप NavigableMap का एक उदाहरण है, तो आप उपयोग कर सकते हैं: http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html

+0

बहुत बढ़िया! धन्यवाद –

संबंधित मुद्दे