keySet () возвращает только набор ключей из вашей хеш-карты, вы должны выполнить итерацию этого набора ключей и получить значение из хеш-карты, используя эти ключи.
В вашем примеретип ключа хеш-карты TypeKey
, но вы указали TypeValue
в своем общем цикле for, поэтому его нельзя скомпилировать.Вы должны изменить его на:
for (TypeKey name: example.keySet()){
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Обновление для Java8:
example.entrySet().forEach(entry->{
System.out.println(entry.getKey() + " " + entry.getValue());
});
Если вам не нужно печатать значение ключа и просто нужнозначение hashmap, вы можете использовать предложения других.
Другой вопрос: является ли эта коллекция нулевой базой?Я имею в виду, если он имеет 1 ключ и значение, будет ли его размер 0 или 1?
Коллекция, возвращаемая из keySet()
, является Set . Вы не можете получить значение изУстанавливается с использованием индекса, поэтому вопрос не в том, является ли он нулевым или единичным.Если в вашем хэш-файле есть один ключ, возвращаемая keySet () будет иметь одну запись внутри, а ее размер будет равен 1.