Код: Выделить всё
List
objects // this has already objects;
final HashMap categoryTopics = new HashMap();
for (final ParseObject object : objects) {
final String category = object.getParseObject("helpCategory").fetchIfNeeded().getString("name");
if (categoryTopics.containsKey(category)) {
final ArrayList topics = categoryTopics.get(category);
topics.add(object);
categoryTopics.put(category, topics);
} else {
final ArrayList topics = new ArrayList();
topics.add(object);
categoryTopics.put(category, topics);
}
}
Список содержит 6 объектов. Первые три имеют строку/ключ: «Здоровье», а остальные три имеют строку/ключ: «Виза».
Когда я перебираю первые три объекта («Здоровье») , у HashMap есть ключ «Heatlh» в индексе 0 (первый ключ) с 3 объектами, но когда я перехожу к 4-му объекту, который имеет другой ключ («Visa»), этот новый ключ переходит к индексу 0 (первый ключ ), а предыдущий ключ переходит в индекс 1 (второй ключ). Разве не должно быть наоборот?
Второй Ключ («Виза») должен перейти к индексу 1 вместо замены первого Ключа с индексом 0, верно? Я неправильно повторяю и заполняю HashMap или это правильный способ работы класса HashMap?
Подробнее здесь: https://stackoverflow.com/questions/407 ... irst-index
Мобильная версия