java多映射arraylist

Mil*_*lan 5 java collections arraylist map

是否可以将键映射到多维数组列表.有点像下面的例子..

Map<K,V>
Run Code Online (Sandbox Code Playgroud)

其中K是字母表列表的关键,V是存储单词列表的多维数组列表或普通数组列表.有些东西就像是一个读取字典文件的应用程序.我想看一个例子.示例可以是与Map和Multi Dimensional Array-list相关的任何内容.或者还有其他有效的方法来实现收集吗?我从未使用过这样的实现,所以如果已经有一个与我的质量保证相关的帖子,请发布链接.

I82*_*uch 5

你总能这样做Map<String, <List<String>>.例如

Map<String, List<String>> multimap = new HashMap<String, List<String>>();
String key = "asdf";
List<String> values = Arrays.asList("foo", "bar");
multimap.put(key, values);
Run Code Online (Sandbox Code Playgroud)

您还可以使用Google Guava中Multimap<String, String>界面- 可能更适合您的需求.它在某种程度上简化了编码 -

Multimap<String, String> multimap = new ArrayListMultimap<String, String>();
String key = "asdf";
multimap.put(key, "foo");
multimap.put(key, "bar");
Run Code Online (Sandbox Code Playgroud)


Ara*_*ram 5

如果要将多个值与单个键关联,可以使用Guava的Multimap.您的特定情况需要ArrayListMultimap.

ListMultimap<String, String> dict= new ArrayListMultimap<String, String>();
dict.put("key 1", "value 1");
dict.put("key 1", "value 2");
dict.put("key 2", "value 1");
Run Code Online (Sandbox Code Playgroud)