Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向HashMap添加集合_Java_Hashmap - Fatal编程技术网

Java 向HashMap添加集合

Java 向HashMap添加集合,java,hashmap,Java,Hashmap,我需要向hashmap添加一个集合的帮助:每次我向集合添加一个值时,它都会获取密钥集,并向集合添加新值,然后将集合放回原处 display方法应该只返回已经完成的hashmap package HashMap; import java.util.HashMap; import java.util.Set; public class Thesaurus { HashMap<String, Set<String>> words =new HashMap<St

我需要向hashmap添加一个集合的帮助:每次我向集合添加一个值时,它都会获取密钥集,并向集合添加新值,然后将集合放回原处

display方法应该只返回已经完成的hashmap

package HashMap;

import java.util.HashMap;
import java.util.Set;

public class Thesaurus {
    HashMap<String, Set<String>> words =new HashMap<String,Set<String>>();

    public void add(String x,String y)
    {
        words.put(x,words.get(x).add(y));
    }
    public void display()
    {
        System.out.println(words);
    }
    public static void main(String[] args) {
        Thesaurus tc = new Thesaurus();
        tc.add("large", "big");
        tc.add("large", "humoungus");
        tc.add("large", "bulky");
        tc.add("large", "broad");
        tc.add("large", "heavy");
        tc.add("smart", "astute");
        tc.add("smart", "clever");
        tc.add("smart", "clever");
        tc.display();
    }
}
包HashMap;
导入java.util.HashMap;
导入java.util.Set;
公共类叙词表{
HashMap words=新的HashMap();
公共空添加(字符串x、字符串y)
{
words.put(x,words.get(x.add(y));
}
公共空间显示()
{
System.out.println(字);
}
公共静态void main(字符串[]args){
叙词表tc=新叙词表();
tc.添加(“大”、“大”);
tc.添加(“大型”、“幽默”);
tc.添加(“大型”、“笨重”);
tc.添加(“大”、“宽”);
tc.添加(“大”、“重”);
tc.添加(“聪明”、“精明”);
tc.添加(“智能”、“聪明”);
tc.添加(“智能”、“聪明”);
tc.display();
}
}
公共作废添加(字符串x、字符串y){
Set=单词。get(x);
if(set==null){
put(x,set=newhashset());
} 
设置。添加(y);
}
公共作废添加(字符串x、字符串y){
Set=单词。get(x);
if(set==null){
put(x,set=newhashset());
} 
设置。添加(y);
}

您可以使用谷歌的guava SetMultimap实现同义词表:

public class Thesaurus {

    private SetMultimap<String, String> thesaurus = Multimaps.synchronizedSetMultimap(HashMultimap.create());  // word -> Set of its synonyms 
    
    
    public void addSynonym(String word, String synonym) {
        thesaurus.put(word, synonym);
    }
    
    public Set<String> getSynonyms(String word) {
        return thesaurus.get(word);
    }
    
    public void removeSynonym(String word, String synonymToRemove) {
        thesaurus.remove(word, synonymToRemove);
    }
}
公共类同义词表{
私有SetMultimap同义词库=Multimaps.synchronizedSetMultimap(HashMultimap.create());//word->其同义词集
public void addSynonym(字符串字、字符串同义词){
同义词词典(单词,同义词);
}
公共集getSynonyms(字符串字){
返回同义词库。获取(单词);
}
public void removeSynonym(字符串字、字符串同义词删除){
词库。删除(单词,同义词删除);
}
}

您可以使用谷歌的guava SetMultimap实现同义词表:

public class Thesaurus {

    private SetMultimap<String, String> thesaurus = Multimaps.synchronizedSetMultimap(HashMultimap.create());  // word -> Set of its synonyms 
    
    
    public void addSynonym(String word, String synonym) {
        thesaurus.put(word, synonym);
    }
    
    public Set<String> getSynonyms(String word) {
        return thesaurus.get(word);
    }
    
    public void removeSynonym(String word, String synonymToRemove) {
        thesaurus.remove(word, synonymToRemove);
    }
}
公共类同义词表{
私有SetMultimap同义词库=Multimaps.synchronizedSetMultimap(HashMultimap.create());//word->其同义词集
public void addSynonym(字符串字、字符串同义词){
同义词词典(单词,同义词);
}
公共集getSynonyms(字符串字){
返回同义词库。获取(单词);
}
public void removeSynonym(字符串字、字符串同义词删除){
词库。删除(单词,同义词删除);
}
}

您的显示消息是否应返回地图?那很容易。或者你的意思是在控制台上打印它?我需要添加方法的帮助,我得到了显示方法。我刚要写,
add
将始终抛出
NullPointerException
如果你的显示消息
返回地图?那很容易。或者你的意思是在控制台上打印它?我需要关于add方法的帮助,我得到了display方法。我刚要写,
add
将始终抛出一个
NullPointerException