可能重复:
如何遍历地图中的每个条目?
我正在编写一个程序,它将接受一个输入(数据),它是一个字符串数组,并按出现频率的顺序返回它们,如果它们在输入中出现的次数相同,则按字母顺序返回。我使用 HashMap 将每个字符串映射到它在数组中出现的次数,之后我的想法是使用 for 循环遍历每个出现次数,但是我找不到一个命令返回 Hashmap 中唯一值的数量。有谁知道如何获得这个值?
此外,如果您有更简单的方法来执行我描述的任务,欢迎提出任何建议。
HashMap<String, Integer> sortmap = new HashMap<String, Integer>();
ArrayList<String> stringlist = new ArrayList<String>();
ArrayList<String> stringlist2 = new ArrayList<String>();
for(String x : data)
{
if(sortmap.containsKey(x)){
sortmap.put(x, sortmap.get(x)+1);
}
else{
sortmap.put(x, 1);
}
}
for (String s : sortmap.keySet()){
for (int i : sortmap.values()){
if (sortmap.get(s) == i){
stringlist2.add(s);
}
}
}