2012-09-03 14 views
5

से मैं इस HashMap है:ईएल एक HashMap का मूल्य प्राप्त पूर्णांक कुंजी

Map<Integer, String> odometerMap = new LinkedHashMap<Integer, String>(); 
    odometerMap.put(0, getLocaleForKey("drop-down.any")); 
    odometerMap.put(1, "< 1000"); 
    odometerMap.put(2, "1000 - 5000"); 
    odometerMap.put(3, "5000 - 10000"); 
    odometerMap.put(4, "10000 - 20000"); 
    odometerMap.put(5, "20000 - 30000"); 
    odometerMap.put(6, "30000 - 40000"); 
    odometerMap.put(7, "40000 - 60000"); 
    odometerMap.put(8, "60000 - 80000"); 
    odometerMap.put(9, "> 80000"); 

JSP में मेरा लक्ष्य उदाहरण $ के लिए मुद्रित करने के लिए है {odometerMap [2]} (परिणाम है रिक्त स्ट्रिंग):

<c:out value="${odometerMap[2]}"/> 

अगर मैं केवल $ {odometerMap} मैं पूरा नक्शा मिल प्रिंट:

{0=Any, 1=< 1000, 2=1000 - 5000, 3=5000 - 10000, 4=10000 - 20000, 5=20000 - 30000, 6=30000 - 40000, 7=40000 - 60000, 8=60000 - 80000, 9=> 80000} 

मैं अपने पसंद के केवल एक तत्व मुद्रित कर सकते हैं कैसे? पूर्व: 2?

धन्यवाद

+0

* odometerMap * एक स्कॉप्ड (पृष्ठ, अनुरोध, सत्र, एप्लिकेशन) ऑब्जेक्ट है? – adatapost

उत्तर

11

ईएल में, संख्या Long माना जाता है। यह Long कुंजी की तलाश में है। यदि आप Integer के बजाय मानचित्र कुंजी के रूप में Long का उपयोग करते हैं तो यह काम करेगा।

Map<Long, String> odometerMap = new LinkedHashMap<Long, String>(); 
odometerMap.put(0L, getLocaleForKey("drop-down.any")); 
odometerMap.put(1L, "< 1000"); 
// ... 
5

एक वैकल्पिक एक String कुंजी

Map<String, String> odometerMap; 

के रूप में .. और का उपयोग कर किया जा सकता है:

<c:out value="${odometerMap['2']}"/> 

लेकिन, यह बेहतर है के बाद से Strings के List उपयोग करने के लिए अपने कुंजी का कोई स्पष्ट अर्थ नहीं है:

List<String> odometers = new ArrayList<String>(); 
odometers.add(getLocaleForKey("drop-down.any")); 
// etc 

.. और:

<c:out value="${odometers[2]}"/> 
संबंधित मुद्दे