通过Java对文本文件进行排序

通过Java对文本文件进行排序,java,arraylist,hashmap,Java,Arraylist,Hashmap,我有一个接受多个参数的程序。第一个参数是文本文件的名称,然后是随机字符串 文本文件包含以下格式的数据: Blue : Chrome Outlook Red : Spotify Word 因此,如果程序收到参数Blue,程序将返回Chrome和Outlook 我正在努力寻找一种方法,让程序扫描每一行,并以这样的方式存储,例如Chrome和Outlook仍然链接到Blue 有什么建议吗?如果使用存储值集合的映射,则可以将一个键与多个值关联。如果允许与键对应的值重复,则可以使用: Map<S

我有一个接受多个参数的程序。第一个参数是文本文件的名称,然后是随机字符串

文本文件包含以下格式的数据:

Blue : Chrome Outlook
Red  : Spotify Word
因此,如果程序收到参数Blue,程序将返回Chrome和Outlook

我正在努力寻找一种方法,让程序扫描每一行,并以这样的方式存储,例如Chrome和Outlook仍然链接到Blue


有什么建议吗?

如果使用存储值集合的
映射,则可以将一个键与多个值关联。如果允许与键对应的值重复,则可以使用:

Map<String, List<String>> dictionary = HashMap<String, List<String>>();
Map dictionary=HashMap();
然后可以通过以下方式添加元素:

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);
    }
}
public void add(字符串键、字符串值){
if(字典容器(键)){
dictionary.get(key)、add(value);
}否则{
List valueList=新的ArrayList();
价值清单。添加(价值);
dictionary.put(键、值列表);
}
}

注意:Guava's也支持上述功能。

您正在编写的方法的签名是什么?对于
方法(文件,“蓝色”、“红色”、“灰色”)
看起来像某种属性文件,在我看来是:而不是=。这些文件有多大?可以将它们存储在内存中吗?听起来您正在寻找如何用java解析文本以及如何制作字典。我建议您从这里开始。您的标记表明您已经在查看
Map
s和
List
s,它们是适合您尝试执行的数据结构。因此,这不是一个教程或代码编写服务。你有什么特别的问题吗?地图或番石榴的多重地图可以解决你的问题