Javaで特定のキーの値を変更することが可能です
int increment = 0;
if (tilesMap.containsKey('a'){
int value = tilesMap.get('a')
// setting the increment value in 'a'
increment ++;
}
int increment = 0;
if (tilesMap.containsKey('a'){
int value = tilesMap.get('a')
tilesMap.put('a', ++value);
increment ++;
}
の後put
、古い値が削除され、新しい値が割り当てられます
あなたが持っている場合、それはうまくいっていますMap<Character, Integer>
。
がある場合は、代わりにMap<String, Integer>
使用します"a"
'a'
着目して。マップのキーに「char」リテラルを使用しているのに「String」を使用しているため、機能できませんでした。
このコードはコンパイルされ、「does not contain "a"」と表示されます。そのため、マップに何かを入れることができないという錯覚を起こす可能性があります。
Map<String, Integer> tilesMap = new HashMap<String, Integer>();
Integer increment = 0;
tilesMap.put("a", increment);
if (tilesMap.containsKey('a')){
System.out.println("contain \"a\"");
int value = tilesMap.get('a');
// setting the increment value in 'a'
increment ++;
}else{
System.out.println("does not contain \"a\"");
}