【发布时间】:2019-08-06 21:26:46
【问题描述】:
我需要创建一个以字符串为键、整数列表为值的 Map。我创建了地图,创建了从 txt 文件中获取的单词的标记化。现在我正在尝试将键和值放入映射中,但我仍然收到错误。我想知道也许我的地图创建错误,但我没有看到任何其他方式来创建此地图。
我一直在尝试用“put”函数添加这个地图,这样我什至无法编译这个程序
Map<String, List<Integer>> map = new HashMap<String, List<Integer>>();
//Map<String, Integer> map = new HashMap<String, Integer>();
int numberOfFiles;
File directory = new File("C:/Users/User/Desktop/documents java project/");
numberOfFiles = directory.list().length;
for(int i = 1; i <= numberOfFiles; i++) {
//tokenization of string
String filePath = "C:/Users/User/Desktop/documents java project/document "+ i +".txt";
String fileData = readFile(filePath);
String delimiter = " ";
String fileWords [] = fileData.split(delimiter);
//words.add(fileWords);
int numberOfWords = fileWords.length;
for(int j = 0; j < numberOfWords; j++) {
map.put(fileWords[j], i);
}
}
}
【问题讨论】:
-
地图是
Map<String, List<Integer>>,但您尝试将单个整数作为值与map.put(fileWords[j], i)。您打算在地图中存储什么?
标签: java list dictionary tokenize