Java hashmap语法混乱

时间:2014-08-20 14:53:37

标签: java hashmap

下面的代码是计算字符。我对hashmaps有点新意,所以我对语法以及它从这一行做了什么感到困惑:Map charCounter = new TreeMap();有人可以请这段代码愚蠢,请从那条线解释一下吗?

    public class repeated {
    public static void main(String[] args) {

        String str = "Abaa";

        char[] char_array = str.toCharArray();

        System.out.println("The Given String is : " + str);

    Map<Character, Integer> charCounter = new TreeMap<Character, Integer>();

        for (char x : char_array) {

    charCounter.put(x,charCounter.get(x) == null ? 1 : charCounter.get(x) + 1);

        }

    for (Character key : charCounter.keySet()) {
  System.out.println("occurrence of '" + key + "' is  "+ charCounter.get(key));
        }

    }

}

1 个答案:

答案 0 :(得分:0)

TreeMap是实现Map接口的类之一。因此,您可以将TreeMap的实例分配给类型为Map的变量。

charCounter.put(x,charCounter.get(x) == null ? 1 : charCounter.get(x) + 1)行搜索char中的x Map。如果找不到,则会将其作为关键字添加到地图中,其值为1。如果发现它从Map获得当前值并将其增加1。

这意味着此Map计算每个字符在输入String中出现的次数。