Những gì tôi sẽ làm rất đơn giản nhưng lãng phí bộ nhớ là ánh xạ các giá trị bằng một khóa và thực hiện đối diện để ánh xạ các khóa có giá trị này:
private Map<Object, Object> team1 = new HashMap<Object, Object>();
Điều quan trọng là bạn sử dụng <Object, Object>
để bạn có thể lập bản đồ keys:Value
và Value:Keys
thích điều này
team1.put("United", 5);
team1.put(5, "United");
Vì vậy, nếu bạn sử dụng team1.get("United") = 5
vàteam1.get(5) = "United"
Nhưng nếu bạn sử dụng một số phương pháp cụ thể trên một trong các đối tượng trong các cặp thì tôi sẽ tốt hơn nếu bạn tạo một bản đồ khác:
private Map<String, Integer> team1 = new HashMap<String, Integer>();
private Map<Integer, String> team1Keys = new HashMap<Integer, String>();
và sau đó
team1.put("United", 5);
team1Keys.put(5, "United");
và nhớ, giữ cho nó đơn giản;)
team1.getKey()
trở lại nếu: (1) bản đồ trống hoặc (2) nếu nó chứa nhiều khóa?