在java中创建<char,int>的无序映射

Aer*_*sch 5 java collections declaration map

所以我需要有一些多字符的字符,其中添加一个重复的字符会使基数增加1,并且字符的多样性不应该大大增加对象占用的内存.

这将通过某种地图实现,其中字符是键,其中包含表示该字符在集合中表示的数字的值.

但是,我正在努力弄清楚哪个集合最适合这个(我正在查看hashmap)以及如何声明这种数据类型.我正在做这样的事情

Map m = new HashMap(char, int);
Run Code Online (Sandbox Code Playgroud)

但以上是一个不正确的声明,我不知道如何正确处理这个问题.

ars*_*jii 6

试试这个声明:

Map<Character, Integer> m = new HashMap<Character, Integer>();
Run Code Online (Sandbox Code Playgroud)

然后,您可以添加字符:

char c = //...;
if (m.containsKey(c))
    m.put(c, m.get(c) + 1);
else
    m.put(c, 1);
Run Code Online (Sandbox Code Playgroud)

  • 很有帮助。有时只是很难通过 api 阅读。非常感激。 (2认同)