そのため、HashMap を受け取り、HashMap に同じキーがいくつあるかをカウントするメソッドを作成しようとしました。これがコードです。かなり自明です。
import java.util.HashMap;
import java.util.Map;
public class ExtendedHashMap extends HashMap<String, Integer> {
public ExtendedHashMap() {
super();
}
public int keyCount(String keyString) {
String key = keyString;
int keyCountInt = 0;
for(Map.Entry<String, Integer> entry : this.entrySet()) {
if(entry.getKey() == keyString) {
keyCountInt++;
}
}
return keyCountInt;
}
public static void main(String[] args) {
ExtendedHashMap ex = new ExtendedHashMap();
ex.put("Item One", 5);
ex.put("Item Three", 25);
ex.put("Item Four", 35);
ex.put("Item Two", 15);
ex.put("Item One", 5);
ex.put("Item Two", 15);
ex.put("Item Three", 25);
ex.put("Item Four", 35);
System.out.println(ex.keyCount("Item One"));
}
}
これを実行すると、何があっても出力されることがわかります。お気付きのように、キーには値が 1 つしかないため、それは除外されます。想定どおりに出力する値を取得するにはどうすればよいですか?