双向map,键值都必须是唯一的,方法比较简单
BiMap<Integer, String> bimap = HashBiMap.create(); bimap.put(1, "first"); bimap.put(2, "second"); bimap.put(3, "third"); bimap.put(1, "111"); // bimap.put(5,"111");//值相同报错 bimap.forcePut(5,"111");//强直插入 bimap.forEach((key, value) -> System.out.println(key + "--" + value)); System.out.println("=================================="); BiMap revers = bimap.inverse(); revers.forEach((key, value) -> System.out.println(key + "--" + value)); System.out.println("=================================="); Set keys = bimap.keySet(); System.out.println(keys); Set values = bimap.values(); System.out.println(values);
结果:
5--111
3--third
2--second
==================================
111--5
third--3
second--2
==================================
[5, 3, 2]
[111, third, second]