java 中地图的时间复杂度

Time Complexity of a map in java

使用映射查找字符串中每个字符出现的程序的时间复杂度是多少?与其他解决方案相比使用它是否有效?

 for(int i=0; i<s.length(); i++)
        {
            if(map.containsKey(s.charAt(i)))
            map.put(s.charAt(i),map.get(s.charAt(i))+1);
            else
            map.put(s.charAt(i),1);
        }

.put()HashMap.get()O(1) - 常数时间。

这段代码的时间复杂度是O(n),其中ns的长度。