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());
});
Если вам не нужно печатать значение ключа, а просто нужно значение хэш-карты, вы можете использовать предложения других.
Еще вопрос: это сборник с нулевой базой? Я имею в виду, что если у него 1 ключ и значение, будет ли его размер 0 или 1?
Коллекция вернулась из keySet()
является набор .Вы не может получить значение из набора с помощью индекса, так что это не вопрос о том, является ли он с нуля или один основе. Если ваша хэш-карта имеет один ключ, возвращаемый keySet () будет иметь внутри одну запись, и ее размер будет равен 1.
Map
' : «Возвращает количество сопоставлений« ключ-значение »в этой карте. Если карта содержит более элементов, возвращается ».size()
Integer.MAX_VALUE
Integer.MAX_VALUE