2

Javaで特定のキーの値を変更することが可能です

   int increment = 0;
    if (tilesMap.containsKey('a'){
    int value = tilesMap.get('a')

// setting the increment value in 'a'

    increment ++;
    }
4

2 に答える 2

4
   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'

于 2012-08-20T10:43:24.147 に答える
0

着目して。マップのキーに「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\"");
    }
于 2012-08-20T10:58:20.217 に答える