为了账号安全,请及时绑定邮箱和手机立即绑定

java 中有没有正查反查都比较快的 Map

java 中有没有正查反查都比较快的 Map

萧十郎 2019-01-19 08:23:03
java 中有没有正查反查都比较快的 Map
查看完整描述

5 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

可以考虑使用google guava中的BiMap,
BiMap<String,Integer> map = HashBiMap.create();
map.put("one",1);
map.put("two",2);
map.get("one");
map.inverse().get(1);

查看完整回答
反对 回复 2019-03-01
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

HashMap,用values遍历。

查看完整回答
反对 回复 2019-03-01
?
桃花长相依

TA贡献1860条经验 获得超8个赞

建两个map分别用于正查和反查

查看完整回答
反对 回复 2019-03-01
?
莫回无

TA贡献1865条经验 获得超7个赞

fzhyzamt 的答案非常棒,涨知识了,但是查了下资料,要注意BiMap强制其value的唯一性,如果发现违规则会抛出。也就是说,value要唯一,不然会抛异常

查看完整回答
反对 回复 2019-03-01
?
达令说

TA贡献1821条经验 获得超6个赞

map 有序的有 linkedhashmap 和treemap,前者的查找元素时间复杂度为o(1),后者为o(logn)

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 781 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信