我有一个接受多个参数的程序。第一个参数是文本文件的名称,然后它们只是随机字符串。
文本文件包含以下格式的数据:
Blue : Chrome Outlook
Red : Spotify Word
因此,如果程序收到参数Blue,程序将返回Chrome和Outlook。
我很难找到一种方法让程序扫描每一行并以这样的方式存储它,例如Chrome和Outlook仍然链接到Blue。
有什么建议吗?
答案 0 :(得分:0)
如果您使用存储Map
值的Collection
,则可以将键与多个值相关联。如果您允许重复使用与键对应的值,则可以使用:
Map<String, List<String>> dictionary = HashMap<String, List<String>>();
然后您可以这样添加元素:
public void add(String key, String value) {
if (dictionary.containsKey(key)) {
dictionary.get(key).add(value);
} else {
List<String> valueList = new ArrayList<String>();
valueList.add(value);
dictionary.put(key, valueList);
}
}
注意:Guava的Multimap也支持上述功能。