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();
}
}
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论