Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个Java集合或列表可以在给定对象值的情况下返回对象键?_Java_List_Collections_Map_Set - Fatal编程技术网

是否有一个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
作为后盾。答案取决于是否要导入其他库。