对map进行排序-按字符出现次数 排序
程序员文章站
2022-07-09 19:17:37
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();
}
}
推荐阅读
-
Python3实现对列表按元组指定列进行排序的方法分析
-
perl对m x n类似表进行按列排序的代码
-
Excel表格如何对所选的内容按数字大小进行排序
-
python 统计数组中元素出现次数并进行排序的实例
-
面试题-给定一段文本,找到包含字段串a,同时剔除包含字符串b的行,然后使用“:”分割取所有列,最后对结果排序,统计每个值出现的次数
-
对map进行排序-按字符出现次数 排序
-
mysql对无索引的字段进行排序后limit,有可能导致分页查询重复出现问题
-
Python统计列表(List)中的重复项出现的次数并进行排序(题解)
-
使用Java8 Stream API对Map按键或值进行排序
-
java8的新特性,Collections.sort(排序的List集合)的使用,对list封装Map里面的某个值进行排序