У меня возникают проблемы с кодированием метода, который с аргументом, именем файла, читает файл, который будет содержать слова, и создает Hashmap с ключом в качестве первой буквы, например. для слова в файле, например, «яблоко», ключом является «а», а значение - «яблоко».
Код, который у меня есть сейчас:
public class WordStore {
HashMap<String, List<String>> map;
File filename;
public WordStore() {
map = new HashMap<String, List<String>>();
}
public WordStore(File file) throws IOException {
map = new HashMap<String, List<String>>();
BufferedReader br = null;
//k = "/Users/hon/eclipse-workspace/Assignment4/src/wordbank.txt"
try{
File filename = new File(k);
FileReader fr = new FileReader(filename);
br = new BufferedReader(fr);
while(br.readLine()!=" ") {
String word ="";
word = br.readLine();
String key = ""+(word.charAt(0));
map.put(key, word);
}
}
catch(IOException e) {
System.out.println("File not found exception caught!");
}
finally {
if(br != null) {
try {
br.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}
public void put(String key, String word) {
if(map.containsKey(key)) {
(map.get(key)).add(word);
}
else {
List<String> names = new ArrayList<>();
names.add(word);
map.put(key, names);
}
}
}
У меня есть ошибка в конструкторе WordStore (файл файла) в map.put (key, word), в котором говорится, что метод put(String, List<String>)
в типе HashMap<String, List<String>>
неприменим для аргумента (String, String).
Я попытался переименовать свой метод размещения, чтобы он использовал мой метод, а не метод размещения хэш-карты, но это тоже не работает.
put
метод не является методомmap
, для его вызова просто используйтеput(key, word);
- person Loris Securo   schedule 15.02.2018