Вы можете перебирать набор записей HashMap. Набор записей содержит наборы ключей и значений. Ключи и значения затем доступны через getKey () и getValue (). Это можно сделать с помощью следующего кода:
for (Map.Entry<String, Object> entry : map.entrySet()) {
String username = entry.getKey();
TelephoneRecord record = (TelephoneRecord)entry.getValue();
// Do something with username and record ...
}
Ваш дополнительный вопрос:
Object - это параметр типа для HashMap, который говорит, что Iterable содержит Objects. Если ваш HashMap должен содержать только объекты TelephoneRecords, замените
implements Iterable<Object>
с
implements Iterable<TelephoneRecords>
Таким образом, вы говорите, что ваш Iterable содержит TelephoneRecords, что, в свою очередь, позволяет вам избегать приведения и получать ошибки компиляции вместо ошибок времени выполнения, если вы делаете что-то не так (что предпочтительно!). Это улучшит приведенный выше код до:
for (Map.Entry<String, TelephoneRecord> entry : map.entrySet()) {
String username = entry.getKey();
TelephoneRecord record = entry.getValue();
// Do something with username and record ...
}