keySet () повертає лише набір ключів із вашої хешмапу, вам слід повторити цей набір ключів і отримати значення з хешмапу за допомогою цих клавіш.
У вашому прикладі тип ключа хешмапу є TypeKey
, але ви вказали TypeValue
у своєму загальному для-циклу, тому його неможливо скомпілювати. Ви повинні змінити його на:
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