問題は、出力に「賢い」という単語が 2 回追加されていることです。同じキーを持つ重複する値が 2 回追加される理由を教えてください。よろしくお願いします。
package HashMap;
import java.util.HashMap;
import java.util.Set;
public class Thesaurus {
HashMap<String, String> words =new HashMap<String, String>();
public void add(String x,String y)
{
if (!words.containsKey(x))
words.put(x, y);
else if (!words.containsValue(y))
words.put(x, words.get(x) + " " + 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();
}
}
出力
{smart=astute clever clever , large=big humoungus bulky broad heavy }