对map进行排序-按字符出现次数 排序
程序员文章站
2022-03-26 16:46:29
package nowcode.test;import java.util.*;public class Testl { //按字符出现次数 排序 public static void main(String[] args) { System.out.println(frequencySort("taeeaaa")); } public static String frequencySort (String s) { // wri....
package nowcode.test;
import java.util.*;
public class Testl {
//按字符出现次数 排序
public static void main(String[] args) {
System.out.println(frequencySort("taeeaaa"));
}
public static String frequencySort (String s) {
// write code here
Map<Character,Integer> mymap=new HashMap<>();
for(int i=0;i<s.length();i++){
mymap.put(s.charAt(i),mymap.getOrDefault(s.charAt(i),0)+1);
}
//转换为List
List<Map.Entry<Character,Integer>> mylist=new ArrayList<>(mymap.entrySet());
//给list排序
Collections.sort(mylist,((o1, o2) -> (o2.getValue()-o1.getValue())));
StringBuilder sb=new StringBuilder();
//从list把map entry依次取出
for(Map.Entry<Character,Integer> entry:mylist){
for (int i = 0; i <entry.getValue() ; i++) {
sb.append(entry.getKey());
}
}
return sb.toString();
}
}
上一篇: 简单分析二分查找
下一篇: 数据结构算法(使用递归重建二叉树)
推荐阅读
-
C#中使用基数排序算法对字符串进行排序的示例
-
Python中对元组和列表按条件进行排序的方法示例
-
Python3实现对列表按元组指定列进行排序的方法分析
-
perl对m x n类似表进行按列排序的代码
-
Excel表格如何对所选的内容按数字大小进行排序
-
python 统计数组中元素出现次数并进行排序的实例
-
面试题-给定一段文本,找到包含字段串a,同时剔除包含字符串b的行,然后使用“:”分割取所有列,最后对结果排序,统计每个值出现的次数
-
对map进行排序-按字符出现次数 排序
-
mysql对无索引的字段进行排序后limit,有可能导致分页查询重复出现问题
-
Python统计列表(List)中的重复项出现的次数并进行排序(题解)