2012-01-20 82 views
4

即時通訊工作在肥皂消息,使用SAXparser檢索存儲在ArrayList中的值(從Webservice)和ArrayList工作正常,但我想存儲在HashMap中,因爲使用鍵標識每個名稱都有一定的SystemId,請任何一個幫我如何在HashMap(Android)中存儲值?

Thanks 

I tried the code: 

    public class SitesList 
    { 
    private ArrayList<String> name = new ArrayList<String>(); 
private ArrayList<String> systemid = new ArrayList<String>(); 

    //Map <String,String> map = new HashMap<String,String>(); 

    public ArrayList<String> getName() 
{ 
    return name; 
} 

public void setName(String nameString) 
{ 
    this.name.add(nameString); 

    System.out.println("name "+ name); 

} 

public ArrayList<String> getSystemId() 
{ 
    return systemid; 
} 

public void setSystemId(String systemidString) 
{ 
    this.systemid.add(systemidString); 

     System.out.println("systemid "+systemid); 


    } 
+0

什麼您存儲該值時遇到的問題? –

+0

我沒有得到總數爲arraylist的名稱 –

+0

你的問題似乎並不清楚你想達到什麼。 –

回答

4

可以存儲像這樣

你的ArrayList的名稱

private ArrayList<String> name = new ArrayList<String>(); 

和HashMap像這樣

HashMap<String, ArrayList<String>>h = new HashMap<String, ArrayList<String>>(); 

,你可以存儲這樣的方式您的ArrayList

h.put("name", name); 
1

如果你不需要保存條目的順序,你可以這樣做:

public class SitesList { 
    private final Map <String,String> map = new HashMap<String,String>(); 

    public Set<String> getNames() { 
     return map.keySet(); 
    } 

    public void add(String nameString, String systemidString) { 
     map.put(nameString, systemidString); 
    } 

    public Collection<String> getSystemIds() { 
     return map.values(); // may contain duplicates 
    } 
}