2014-09-30 3 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

нужно больше деталей, неспособное получить то, что вы точно хотите. –

+0

@yogesh: из этого Hastable я хочу разделить Kay и значение и сохранить в отдельном arraylist, из того, что выше значения ключа хранятся в отдельном массиве, не может сохранить соответствующее значение другому arraylist – Prabu

ответ

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

Смежные вопросы