我想將一個字符串(單個單詞)和一個int(他們的HashCodes)放入一個HasMap。在放置物品時我真的很掙扎。如何放置一個HashMap的HASHSET INSIDE?
// These approaches won't even run the code properly.
map.put(word.hashCode(), word);
// This type of approach makes my code work, but it's obviously not adding the words in.
map.put(word.hashCode(), new HashSet<String>());
我一直在這裏嘗試了很多不同的時髦的東西,但我真的不能工作,如何正確添加單個單詞到地圖。有人可以幫助我理解如何首先將其放置到HashSet中,以便將其放入地圖中?
import java.io.*;
import java.util.*;
class Assign004{
public static void main(String args[]){
// INT = HASHCODE
// STRING = WORD
Map<Integer, HashSet<String>> map = new HashMap<Integer, HashSet<String>>();
// READ WORDS AND PLACE THEM INTO THE MAP
readFile(map);
}
public static void readFile(Map<Integer, HashSet<String>> map){
String word = null;
try{
File file = new File("src/Assign004_FILE.txt");
Scanner r = new Scanner(file);
while(r.hasNext()){
/* *******************************************************
TEST CODE. TO CHECK IF IT'S READING IN THE WORDS
word = r.next();
int hash = word.hashCode();
System.out.print(word);
System.out.print(": " + hash + "\n");
******************************************************** */
word = r.next();
map.put(word.hashCode(), new HashSet<String>());
System.out.print(map);
}
r.close();
}catch(FileNotFoundException e){
System.out.println("ERROR OPENING FILE");
}
}
}
爲什麼你顯式地調用'hashCode'?你真的需要直接使用hashcode嗎?這似乎不太可能。 – user2357112
首先,使用'Set set = map.get(word.hashCode());'獲取集合,然後使用'set.add(word);'將該元素插入到集合中。 –
marstran
你能給我們一個關於你想在這裏實現什麼的高層次概述嗎? – berry120