2012-01-14 12 views
26

मैंने साबुन संदेश में काम किया है, और वेबसाइट सेवा से मूल्य का विश्लेषण करने के लिए, मूल्य ArrayList में संग्रहीत हैं।एंड्रॉइड में शब्दकोश का उपयोग कैसे करें (जैसे iphone NSDictionary)?

उदाहरण: मूल्य कर्मचारी नाम (शिव) और कर्मचारी आईडी (3433fd) हैं, ये दो मान सरणीसूची में संग्रहीत हैं, लेकिन मैं शब्दकोश में संग्रहीत करना चाहता हूं, कैसे?

उत्तर

66

आप इस

Map <String,String> map = new HashMap<String,String>(); 
//add items 
map.put("3433fd","Siva"); 
//get items 

String employeeName =(String) map.get("3433fd"); 
+1

आपके उत्तर के लिए धन्यवाद। –

+0

वह है जो आप ढूंढ रहे हैं? – confucius

+0

ये भी है (आईफोन डिक्शनरी) –

9

तरह HashMap का उपयोग आप Bundle उपयोग कर सकते हैं कर सकते हैं।

क्योंकि यह विभिन्न प्रकार के मैपिंग के लिए स्ट्रिंग प्रदान करता है।

Bundle b = new Bundle(); 
b.putInt("identifier", 121); 
b.putString("identifier", "Any String"); 
b.putStringArray("identifier", stringArray); 

int i = b.getInt("identifier"); 
... 
+0

धन्यवाद। बहुत सारे जवाब हैश मैप पर इंगित करते हैं लेकिन असल में मुझे लगता है कि बंडल शब्दकोश के समान ही है क्योंकि यह अधिक प्रकार के चर की अनुमति देता है – Shayno

5
public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     EditText textview = (EditText) findViewById(R.id.editTextHash); 
     EditText textviewNew = (EditText) findViewById(R.id.editTextHash2); 

     Map<String, String> map = new HashMap<String,String>(); 
     map.put("iOS", "100"); 
     map.put("Android", "101"); 
     map.put("Java", "102"); 
     map.put(".Net", "103"); 

     String TextString = ""; 
     // Set<E> keys = map.keySet(); 

     Set keys = map.keySet(); 
     System.out.println("keys "+keys); 
     for (Iterator i = keys.iterator(); i.hasNext();) 
     { 
      String key = (String) i.next(); 
      System.out.println("key "+key); 
      String value = (String) map.get(key); 
      System.out.println("value "+value); 
      textview.append(key + " = " + value); 
      TextString+=(key + " = " + value); 
     } 
     //textviewNew.setText(TextString); 

//  Iterator iterator = map.keySet().iterator(); 
//   
//  while (iterator.hasNext()) 
//  { 
//   String object = (String) iterator.next(); 
//   textview.setText(object); 
//  } 
//   
//  //textview.setText(map.get("Siva")); 
//   
//  System.out.println(map); 

    } 
} 
0

एक Dictionary एक अमूर्त वर्ग है कि मूल्यों के लिए कुंजी के नक्शे है और वहाँ एंड्रॉयड में शब्दकोश क्लास है उल्लेख link आप कक्षा अवलोकन पर एक नोट मिल सकता है

के बाद से इस वर्ग का उपयोग न करें यह अप्रचलित है। नए कार्यान्वयन के लिए कृपया मानचित्र इंटरफ़ेस का उपयोग करें।

या तो एक अशक्त कुंजी या एक शब्दकोश में एक शून्य मान एक NullPointerException लिए परिणाम होगा सम्मिलित करने का प्रयास है, लेकिन आप Map इंटरफ़ेस का उपयोग कर सकते हैं, यह प्रदान करता है एक dictionary.you का सही ही कार्यक्षमता bellow के रूप में उपयोग कर सकते हैं

//put values 
Map Message = new HashMap(); 
Message.put("title", "Test message"); 
Message.put("description", "message description"); 
Message.put("email", "[email protected]"); 
//get values 
Log.d("get Message","Message title -"+Message.get("title")); 

आप भी एक कस्टम वर्ग

public class MessageObject { 
    String title; 
    String description; 
    String email; 
} 

आप getters और setters का उपयोग कर सकते हो और मूल्यों डाल करने के लिए नीचे के रूप में उपयोग कर सकते हैं, कुंजी नाम पूर्व संध्या को याद करने की जरूरत नहीं आरई समय आप इस तरह से कुछ अन्य फायदे प्राप्त कर सकते हैं।

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