【发布时间】:2015-08-13 07:25:37
【问题描述】:
我正在使用 Java 集合制作类似标签的东西。我使用列表作为值制作了一张地图。
我可以通过列表中的单词进行关键字搜索吗?我怎么能这样做?
Map<String, List<String>> map = new HashMap<String, List<String>>();
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
list1.add("mammal");
list1.add("cute");
list2.add("mammal");
list2.add("big");
map.put("cat", list1);
map.put("dog", list2);
【问题讨论】:
-
试试map.get函数(见docs.oracle.com/javase/7/docs/api/java/util/…
-
同一个值可以映射到多个键。你会如何处理这种情况?也许您正在寻找
BiMap(查看 Guava 集合 API)。 -
我认为没有理由像您那样使用 Map。我最好建议使用地图 en.wikipedia.org/wiki/Inverted_index 设计“还原索引”。通过这种方式,您可以将动物存储在转储集合中,同时构建有效的结构以从标签映射到动物。
标签: java list dictionary