当前位置: 首页 > news >正文

集合篇-根据字符串出现频率排序

根据字符串出现频率排序 

package 根据字符串出现频率排序;import java.util.*;public class Demo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入一个字符串:");String str = scanner.nextLine();String sortStr = frequenceStr( str);System.out.println(sortStr);}public static String frequenceStr(String str){if (str == null){System.out.println("输入的字符串不能为空!");return null;}Map<Character,Integer> map = new HashMap<>();for (Character c: str.toCharArray()){if(!map.containsKey(c)){map.put(c, 1);}else {map.put(c, map.get(c)+1);}}Set<Map.Entry<Character,Integer>> entrySet = map.entrySet();List<Map.Entry<Character,Integer>> list = new ArrayList<>(entrySet);Collections.sort(list, new Comparator<Map.Entry<Character, Integer>>(){@Overridepublic int compare(Map.Entry<Character, Integer> o1, Map.Entry<Character, Integer> o2) {return o2.getValue().compareTo(o1.getValue());}});StringBuilder sb = new StringBuilder();for (Map.Entry<Character,Integer> entry: list){for (int i = 0; i < entry.getValue(); i++){sb.append(entry.getKey());}}return sb.toString();}
}

测试: 

 

 

 

http://www.dtcms.com/a/312721.html

相关文章:

  • 每日面试题20:spring和spring boot的区别
  • 【MCAL】AUTOSAR架构下SPI数据同步收发具体实现
  • 《深入浅出RabbitMQ:从零基础到面试通关》
  • go 中的 fmt 占位符
  • LUA脚本语言
  • 【svg】
  • 人工智能之数学基础:几何型(连续型)随机事件概率
  • 2、docker容器命令 | 信息查看
  • Redis 7中的List类型指南
  • 14.Redis 哨兵 Sentinel
  • 10.Redis 数据类型
  • Back to the Features中,直观物理的评价指标是什么,计算方式是什么
  • 5 进入 CD 的世界
  • Thread 类的基本用法
  • 蛇形卷积介绍
  • Spring Cloud微服务中的内存泄漏问题定位与解决方案
  • 【Unity】背包系统 + 物品管理窗口 (上)
  • 7.13.B+树
  • 【机器学习】线性回归算法详解:线性回归、岭回归、Lasso回归与Elastic Net
  • [AI8051U入门第十四步]W5500实现UDP通信
  • 第六章第三节 TIM 输出比较
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现各类垃圾的分类检测识别(C#代码UI界面版)
  • 学习游戏制作记录(实现克隆攻击的克隆复制和水晶代替克隆)8.3
  • 机器学习——下采样(UnderSampling),解决类别不平衡问题,案例:逻辑回归 信用卡欺诈检测
  • LangChain缓冲记忆组件的使用与解析
  • 决策树学习全解析:从理论到实战
  • 数据结构:在链表中插入节点(Inserting in a Linked List)
  • 回归的wry
  • 浅谈Python中的os.environ:环境变量交互机制
  • Uniapp一根数据线实现真机调试运行【uniapp如何把项目运行在手机上】