【发布时间】:2017-02-08 00:45:18
【问题描述】:
假设我有一个字符串“aaabcccdddd” 我已将每个字母存储为键,并将字符的每个重复存储为哈希映射中的值。如何使用地图按降序将字符打印到控制台。例如=“dddcccaaab”
void str(String s) {
int len = s.length();
Map<Character, Integer> elements = new HashMap<>(Math.min(len, 26));
Map<Character, Integer> sortedByValues;
String concact=""; int b;char a;
for (int i = 0; i < len; i++){
if (!elements.containsKey(s.charAt(i)))
elements.put(s.charAt(i), 1);
else
elements.put(s.charAt(i), elements.get(s.charAt(i)) + 1);}
【问题讨论】:
-
向我们展示一些代码以更好地解释您想要做什么。
-
你说你已经创建了一个哈希映射,我想你是在代码中做到的?
-
string a= "abbcccddd" count a=2;计数 b=2,计数 c=3; count d=4; 这没有意义
-
嘿,我真的没有最能描述我的情况的代码。所以我希望这会有所帮助 - string a= "babcdcdcd";数一=一;计数 b=2,计数 c=3;计数d=4;我将这些值存储在哈希图中(基本上每个字母出现多少次,假设没有空格或非字母)我需要打印出出现次数最多的字母,即 d=4,然后按照顺序和我的最终输出应该是按降序返回的初始字符串的排序形式,如“ddddcccbba”
-
这是我使用的代码。我只需要弄清楚如何排序,然后按降序打印 - void str(String s) { int len = s.length(); Map
elements = new HashMap(Math.min(len, 26)); Map sortedByValues;字符串 concact=""; int b;char a; for (int i = 0; i