获取字符串中每一个字母出现的次数
来源:互联网 发布:linux zip 解压乱码 编辑:程序博客网 时间:2024/05/17 05:08
package cn.api.d.test;import java.util.Map;import java.util.TreeMap;public class MapTest {/** * @param args */public static void main(String[] args) {/* * 练习: * "werertrtyuifgkiryuiop",获取字符串中每一个字母出现的次数。 * 要求返回结果个格式是 a(1)b(2)d(4)......; * 思路: * 1,获取到字符串中的每一个字母。 * 2,用字母取查表,如果查到了该字母对应的次数,就将这个次数+1后重新存回表中。 * 如果没有查到呢?将该字母和1存到表中。 * 3,每一字母都查完表后,表中记录的就是所有字母出现的次数。 * * 字母和次数之间存在对应关系,而且字母是唯一性的,所以可以使用map集合做表进行查询。 * 通过结果发现 字母有顺序的,所以可以通过map集合中的treemap作为表。 * */String str = "awaa+acr=ebarct,btydui[efgkiryuiop";str = getCharCount(str);System.out.println(str);}/** * 获取字符串中的字母出现次数。 * * @param str * @return 返回一个每一个字母对应次数的字符串 格式 char1(count)char2(count).....; */public static String getCharCount(String str) {//1,将字符串转成字符数组。char[] chs = str.toCharArray();//2,定义表。treemap.TreeMap<Character, Integer> map = new TreeMap<Character, Integer>();//3,遍历字符数组。for (int i = 0; i < chs.length; i++) {//判断必须是字母。if(!(chs[i]>='a' && chs[i]<='z' || chs[i]>='A' && chs[i]<='Z')){continue;}//4,将遍历到的字母作为键去查map这个表。获取对应的次数。Integer value = map.get(chs[i]);//5,有可能要查询的字母在表中不存在对应的次数,需要判断。//如果返回是null,说明字母没有对应的次数。就将这个字母和1存储到表中。if(value == null){//将字母和1存储。map.put(chs[i],1);}else{//否则,说明有对应的次数对次数自增。将字母和新的次数存储到表中。value++;map.put(chs[i],value);}/* //两个if判断,选择哪个都行。int count = 0;if(value!=null){count = value;//用count记录次数。}count++;//自增。map.put(chs[i], count);*/}//将map集合中的键值转成 格式是 a(1)b(2)d(4)......return mapToString(map);}/* * 将map集合中的键值转成 格式是 a(1)b(2)d(4)...... * map中有很多数据,无论是多少个,什么类型,最终都变成字符串。 * StringBuffer 这个容器就符合这个需求。如果是单线程,建议使用StringBuilder。 * */private static String mapToString(Map<Character, Integer> map) {//1,明确容器。StringBuilder sb = new StringBuilder();//2,遍历map集合。for(Character key : map.keySet()){Integer value = map.get(key);sb.append(key+"("+value+")");}return sb.toString();}}
阅读全文
0 0
- java "aababcabcdabcde",获取字符串中每一个字母出现的次数
- 获取字符串中每一个字母出现的次数
- Java 获取字符串中 每一个字母出现的次数
- 获取字符串中每一个字母出现的次数
- 获取该字符串中,每一个字母出现的次数,要求打印结果是a(1)b(2)...
- JAVA 获取字符串中每一个字母出现的次数 TreeMap 解
- 获取字符串中字母出现的次数
- 获取一字符串中,每一个字符出现的次数。
- Java编程机试:获取某一字符串中(只要字母),每一个字母出现的次数输出格式为a(x)b(y)c(z).....m(n)
- TreeMap获取字符串中字母出现次数
- 统计字符数组中每一个大小写字母出现的次数
- 利用map集合获取字符串中字母出现的次数
- 获取字符串中每个字母出现的次数
- python 获取字符串中出现次数最多的字母
- java面试题 "aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
- "bcdabcdeaababca",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
- 一个字符串中字母出现的次数
- 计算一个字符串中每一个字符出现的次数
- activity的launchmode和taskAffinity学习笔记(一)
- Error:No resource identifier found for attribute 'roundIcon' in package 'android'
- webservice客户端
- 关于python中带下划线的变量和函数 的意义
- Java 多线程分段下载原理分析和实现(转载)
- 获取字符串中每一个字母出现的次数
- 修改提交revert
- mySQL之数据类型
- 虚拟篇 03. Hyper-V 远程桌面捕获鼠标 ❀ Windows Server 2016
- 异步加载场景loading界面
- Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(十三)集成 UEditor 百度富文本编辑器
- elasticSearch 5.x.x版本 maven配置(一个坑)
- 算法笔记:二叉搜索树BST(未完待续)
- 坐标下降与梯度下降