就是用 DualHashBidiMap ,既可以用key获得value,也可以用value获得key
public static void bidiMap(){
BidiMap bidimap = new DualHashBidiMap();
Book b = new Book();
Book b2 = new Book();
Book b3 = new Book();
bidimap.put(b, "one");
bidimap.put(b2, "two");
bidimap.put(b3, "two");
System.out.println(bidimap.getKey("two"));
System.out.println(bidimap.get(b));
System.out.println(bidimap.get(b3));
}
输出:com.james.test.Book@4383f74d
one
two
实际上就是用两个hashmap,一个做key,一个做value,做key的是正向,做value是反向(键值互换)
然而api和源码早已看穿一切
构造器
put()方法,
DualLinkedHashBidiMap,TreeBidiMap,