bộ chìa khoá() chỉ trả về một bộ khóa từ hashmap của bạn, bạn nên lặp lại bộ khóa này và lấy giá trị từ hashmap bằng các khóa này.
Trong ví dụ của bạn, loại khóa của hashmap là TypeKey
, nhưng bạn đã chỉ định TypeValue
trong vòng lặp for chung của mình, vì vậy nó không thể được biên dịch. Bạn nên đổi nó thành:
for (TypeKey name: example.keySet()){
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Cập nhật cho Java8:
example.entrySet().forEach(entry->{
System.out.println(entry.getKey() + " " + entry.getValue());
});
Nếu bạn không yêu cầu in giá trị khóa và chỉ cần giá trị hashmap, bạn có thể sử dụng các đề xuất của người khác.
Một câu hỏi khác: Bộ sưu tập này là cơ sở không? Tôi có nghĩa là nếu nó có 1 khóa và giá trị nó sẽ là 0 hoặc 1?
Bộ sưu tập được trả về từ keySet()
một Tập hợp . Bạn không thể nhận giá trị từ Tập hợp bằng cách sử dụng một chỉ mục, vì vậy vấn đề không phải là dựa trên không hay dựa trên một. Nếu hashmap của bạn có một khóa, keyset () được trả về sẽ có một mục nhập bên trong và kích thước của nó sẽ là 1.
Map
'ssize()
phương pháp : ' Returns số ánh xạ giá trị khóa trong bản đồ này Nếu bản đồ chứa hơnInteger.MAX_VALUE
các yếu tố, lợi nhuậnInteger.MAX_VALUE
.'