是否有一个Java集合或列表可以在给定对象值的情况下返回对象键?
有没有一种方法可以创建一个集合或列表,在其中我可以提供一个键并接收关联的对象,同时能够提供该对象并接收该对象的键 我可以制作两个交叉引用的是否有一个Java集合或列表可以在给定对象值的情况下返回对象键?,java,list,collections,map,set,Java,List,Collections,Map,Set,有没有一种方法可以创建一个集合或列表,在其中我可以提供一个键并接收关联的对象,同时能够提供该对象并接收该对象的键 我可以制作两个交叉引用的哈希映射,如下所示: HashMap <Integer, String> objectAccessor; objectAccessor.put(5, "five"); HashMap <String, Integer> keyAccessor; keyAccessor.put("five", 5); HashMap对象访问器; ob
哈希映射,如下所示:
HashMap <Integer, String> objectAccessor;
objectAccessor.put(5, "five");
HashMap <String, Integer> keyAccessor;
keyAccessor.put("five", 5);
HashMap对象访问器;
objectAccessor.put(5,“5”);
HashMap密钥存取器;
键盘存取器。放置(“五”,5);
或者我可以遍历键集
,直到对象匹配为止(但这似乎效率很低)
是否有一个有效的方法来做这一个集合,或者是两个<代码> HashMaps < /代码>我的最佳选择?
如果你正在使用第三方库,请考虑看番石榴的实现。
例如,由两个HashMap
实例支持,并为您处理脏活。我认为两个映射是您最好的选择。当然,对于HashMap来说,即使它提供了按值搜索键的功能,也会很低效。您可以使用来自的。Google collections有一个。该库还具有许多其他出色的功能。如果您查看番石榴的HashBiMap
,您会发现它有2个HashMaps
作为后盾。答案取决于是否要导入其他库。