2014-09-30 32 views
0

Java代碼Hashtable的鍵和值在單獨的數組列表存儲

Hashtable<String, Integer> gettingStatus = searchActiveAssetStatus(); 
     ArrayList<String> statusValue = new ArrayList<String>(); 
     ArrayList<String> statusCount = new ArrayList<String>(); 
     Set<String> keys = gettingStatus.keySet(); 

     for (String key : keys) { 
      if (key.contains("Active")) { 
       statusValue.add(key);    
      } 

      if (key.contains("Abandoned")) { 
       statusValue.add(key); 
      } 

      if (key.contains("Deleted")) { 
       statusValue.add(key); 
      } 
      } 

用於上述我已存儲的密鑰在一個單獨的陣列列表(可),在相同的時間,如果該鍵在散列表中存在我想如何將該相應鍵的值存儲在另一個數組列表(statusCount)中?

+1

需要更多的細節,無法得到你真正想要的。 – 2014-09-30 12:28:41

+0

@yogesh:從那個Hastable我想分裂凱和價值,並存儲在一個單獨的arraylist,從上面的關鍵值存儲在一個單獨的數組,不能夠存儲相應的值到另一個arraylist – Prabu 2014-09-30 12:31:47

回答

0

如果我收到了你的問題的權利,你只需要索要相應鍵的值,並把它在列表中:

Hashtable<String, Integer> gettingStatus = searchActiveAssetStatus(); 
    ArrayList<String> statusValue = new ArrayList<String>(); 
    ArrayList<String> statusCount = new ArrayList<String>(); 
    Set<String> keys = gettingStatus.keySet(); 
    for (String key : keys) { 
     if (key.contains("Active") || key.contains("Abandoned") || key.contains("Deleted")) { 
      statusValue.add(key); 
      statusCount.add(gettingStatus.get(key).toString()); 
     } 
    } 

或者本傑明說只是採取entrySet(),這使得它更容易。

1

您可以使用entrySet()方法,而不是keySet()方法:

Set<Entry<String, Integer>> entries = gettingStatus.entrySet(); 

for (Entry<String, Integer> entry : entries) { 
    String key = entry.getKey(); 
    Integer value = entry.getValue(); 

    if (key.contains("Active")) { 
     statusValue.add(key); 
     // Store value    
    } 

    if (key.contains("Abandoned")) { 
     statusValue.add(key); 
     // Store value    
    } 

    if (key.contains("Deleted")) { 
     statusValue.add(key); 
     // Store value    
    } 
} 
+0

感謝作品 – Prabu 2014-09-30 12:45:15

相關問題