我一直在尝试使用Java编写一个程序,该程序会逐行读取一个制表符分隔的CSV文件,并将第一列(字符串)添加为哈希映射的键,第二列(整数)作为值。在输入文件中,有重复的键,但具有不同的值,因此我要将值添加到现有键上,形成值的ArrayList。我无法弄清楚最佳方法,想知道是否有人能够帮忙?谢谢!编辑:抱歉,这是代码目前的进展:我应该添加第一列作为值,第二列作为键。
public class WordNet {
private final HashMap<String, ArrayList<Integer>> words;
private final static String LEXICAL_UNITS_FILE = "wordnet_data/wn_s.csv";
public WordNet() throws FileNotFoundException, IOException {
words = new HashMap<>();
readLexicalUnitsFile();
}
private void readLexicalUnitsFile() throws FileNotFoundException, IOException{
BufferedReader in = new BufferedReader(new FileReader(LEXICAL_UNITS_FILE));
String line;
while ((line = in.readLine()) != null) {
String columns[] = line.split("\t");
if (!words.containsKey(columns[1])) {
words.put(columns[1], new ArrayList<>());
}
}
in.close();
}