Как получить содержимое цикла HashMap на Java в Android? - PullRequest
1 голос
/ 04 ноября 2011

У меня есть это:

Map<Integer, String[]> strs = new HashMap<Integer, String[]>(); 
for (int population = 0 ; population < 20 ; population++) {

strs.put(0, morning_food);
strs.put(1, snack1_food);
strs.put(2, lunch_food);
strs.put(3, snack2_food);
strs.put(4, nite_food);

for (String[] value : strs.values()) {
    for (String val : value) {
        Log.d("", val);

    }
}

}

это будет отображать содержимое строк 20 раз, как я могу получить первые или четырнадцатые строки или еще? Я пытался сохранить его в массив, но он всегда отображает последние строки, какой бы индекс я ни хотел, любое решение? Thx

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Когда вы используете Map.put, оно будет переопределять любое значение, которое уже было связано с ключом.Когда вы вызываете Map.put(0, ...) 20 раз, у вас остается только одно значение, связанное с ключом 0, самое последнее значение передается put.

Если вам нужно сохранить 20 различных значений, связанных содин ключ, используйте Guava's Multimap.

Multimap

0 голосов
/ 04 ноября 2011

используйте LinkedHashMap, если вы хотите перебрать его в установленном порядке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...