2009-11-05 17 views
5

Tôi cần một loại bản đồ có thể truy cập theo hai hướng, do đó, với cấu trúc khóa phím thay vì khóa-giá trị. Điều này tồn tại trong Java? Nếu không, cách tốt nhất để tạo ra nó là gì?Phím Java - sơ đồ phím

Vì vậy, ví dụ:

mySpecialHashMap.put("key1", "key2"); 

mySpecialMap.getL2R("key1") returns "key2"; 
mySpecialMap.getR2L("key2") returns "key1"; 
+3

Dupe: http://stackoverflow.com/questions/1670038/does-java-have-a-hashmap-with-reverse-lookup – finnw

Trả lời

3

Bạn có thể muốn xem BiMap từ thư viện Guava (trước đây gọi là Google Bộ sưu tập).

Một ví dụ nơi một HashBiMap được sử dụng như "mySpecialHashMap":

BiMap<String, String> myBiMap = HashBiMap.create(); 
myBiMap.put("key1", "key2"); 

myBiMap.get("key1"); // returns "key2" 
myBiMap.inverse().get("key2"); // returns "key1" 
+0

Nếu ai đó chưa sử dụng Ổ ổi: nó hoàn toàn ngọt ngào và có thể bạn nên làm. Xem [bài đăng này (và bình luận)] (http://stackoverflow.com/a/132639/56285) cho một số tài nguyên học tập tuyệt vời. – Jonik