HashMapを次のように宣言しました: -
public HashMap<Boolean, String> map = new HashMap();
では、最大いくつのマッピングを に含めることができるか考えてみてくださいmap。あなたが考えることによって得られる答え、あなたのBooleanタイプが取ることができるすべての値。これは、 に重複キーを含めることができないためですHashMap。
したがって、おそらくあなたは今、2 mappingsあなたのマップに最大で 1 つだけtrueをfalse持つことができることを知って3rdいnullますHashMap。
したがって、あなたの場合、 と の両方this.invertedがまたはthis.activeのいずれかである場合。その場合、そこに存在できるのはそのうちの 1 つだけであり、それが後で挿入される値になります。truefalse
以前のものを上書きせずにマッピングを追加する方法はありますか?
おそらく、HashMapを間違って作成したのでしょう。マップを次のように宣言する必要があります: -
private Map<String, Boolean> map = new HashMap();
そして、次のように 2 つのマッピングを配置できるようになりました: -
map.put("Inverted", this.inverted);
map.put("Loading", this.active);