Tôi đang gặp phải sự cố dường như không có giải pháp khắc nghiệt.Cập nhật mục nhập bản đồ java
Tôi đang sử dụng java.util.Map
và tôi muốn cập nhật giá trị trong cặp Khóa-Giá trị.
Ngay bây giờ, tôi đang làm nó Lik này:
private Map<String,int> table = new HashMap<String,int>();
public void update(String key, int val) {
if(!table.containsKey(key)) return;
Entry<String,int> entry;
for(entry : table.entrySet()) {
if(entry.getKey().equals(key)) {
entry.setValue(val);
break;
}
}
}
Vậy là có phương pháp nào để tôi có thể nhận được các yêu cầu Entry
đối tượng mà không cần phải lặp thông qua toàn bộ Map
? Hoặc là có một số cách để cập nhật giá trị của mục nhập tại chỗ? Một số phương pháp trong số Map
như setValue(String key, int val)
?
jrh
PS: table.entrySet của nó(). Tôi đã gõ sai ở đây. – jrharshath
Bạn có thể xóa câu lệnh "if" đầu tiên. Nó vẫn gây ra một sự lặp lại đầy đủ thông qua bản đồ nếu khóa không có. Nếu bạn xóa nó, bạn sẽ vẫn lặp qua toàn bộ bản đồ và không thực hiện bất cứ điều gì nếu khóa không có. Ngay bây giờ nếu chìa khóa hiện diện, bạn lặp lại qua bản đồ, thấy rằng nó có mặt, và sau đó lặp lại thông qua các mục nhập một lần nữa. –