【发布时间】:2016-11-20 05:39:42
【问题描述】:
我一直在尝试制作一个 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();
}
【问题讨论】:
-
抱歉,没有任何代码,这是一个太宽泛的问题。您应该在发布之前尝试过解决方案。请访问help center 并阅读How to Ask
-
代码添加的人为错误道歉
-
您在选项卡上拆分,但只读取第二列...您知道数组是零索引的,对吧?
标签: java csv arraylist hashmap