Map集合练习之对字符串中字母出现的次数求和
代码需求
如有这么一个字符串
String str = "fdg+avAdc bs5dDa9c-dfs";
MapTest.java
package zhouls.bigdata.DataFeatureSelection.test;import java.util.Iterator; import java.util.Map; import java.util.TreeMap;/** 练习:* "fdgavcbsacdfs" 获取该字符串中,每一个字母出现的次数。* 要求打印结果是:a(2)b(1)...;* * 思路:* 对于结果的分析发现,字母和次数之间存在着映射的关系。而且这种关系很多。* 很多就需要存储,能存储映射关系的容器有数组和Map集合。* 关系一方式有序编号吗?没有!* 那就是使用Map集合。 又发现可以保证唯一性的一方具备着顺序如 a b c ...* 所以可以使用TreeMap集合。* * 这个集合最终应该存储的是字母和次数的对应关系。 * * 1,因为操作的是字符串中的字母,所以先将字符串变成字符数组。* 2,遍历字符数组,用每一个字母作为键去查Map集合这个表。* 如果该字母键不存在,就将该字母作为键 1作为值存储到map集合中。* 如果该字母键存在,就将该字母键对应值取出并+1,在将该字母和+1后的值存储到map集合中,* 键相同值会覆盖。这样就记录住了该字母的次数.* 3,遍历结束,map集合就记录所有字母的出现的次数。oy.* * */public class MapTest {/*** @param args*/public static void main(String[] args) {String str = "fdg+avAdc bs5dDa9c-dfs";String s = getCharCount(str);System.out.println(s);}public static String getCharCount(String str) {//将字符串变成字符数组 char[] chs = str.toCharArray(); //定义map集合表。Map<Character,Integer> map = new TreeMap<Character,Integer>();for (int i = 0; i < chs.length; i++) {if(!(chs[i]>='a' && chs[i]<='z' || chs[i]>='A' && chs[i]<='Z')) // if(!(Character.toLowerCase(chs[i])>='a' && Character.toLowerCase(chs[i])<='z'))continue;//将数组中的字母作为键去查map表。 Integer value = map.get(chs[i]);int count = 1;//判断值是否为null.if(value!=null){count = value+1;}map.put(chs[i], count);if(value==null){map.put(chs[i], 1);}else{map.put(chs[i], value+1);}}return mapToString(map);}private static String mapToString(Map<Character, Integer> map) {StringBuilder sb = new StringBuilder();Iterator<Character> it = map.keySet().iterator();//这是map的取值,先找到丈夫,再Iterator只能正向遍历集合,适用于获取移除元素while(it.hasNext()){Character key = it.next();Integer value = map.get(key);sb.append(key+"("+value+")");}return sb.toString();} }
Map集合练习之对字符串中字母出现的次数求和相关推荐
- python统计表中单词及其出现的次数 字典形式输出_统计字符串中字母出现的次数,字典形式输出(python)...
a = "aAsmr3idd4bgs7Dlsf9eAF" 请将a字符串的数字取出,并输出成一个新的字符串. 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母) ...
- python字典统计字母出现次数_第三篇 python运用字典统计字符串中字母出现的次数-Go语言中文社区...
碎碎念 这个内容还是我日常互相种草的好友提供的素材,很基础也很实用,稍微进阶一些就可以用来统计文章中的单词出现的频率了.她在网上找的代码用了库,通过python中的字典可以很简洁的完成.(下图是她在网 ...
- python技巧 计算字符串中字母出现的次数并取出最大
有一个字符串 "aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532",现在需要取出里面出现次数最多的字符 ...
- ACMNO.26 C语言-字符统计2 编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
题目描述 编写一函数,由实参传来一个字符串,统计此字符串中字母.数字.空格和其它字符的个数, 在主函数中输入字符串以及输出上述结果. 只要结果,别输出什么提示信息. 输入 一行字符串 输出 统计数据, ...
- 查询字符串中字母出现的个数
/*查询字符串中字母出现的个数*/ string str = " Welcom Hello World"; Dictionary&l ...
- Java黑皮书课后题第6章:*6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数。编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数
6.20(计算一个字符串中字母的个数)编写一个方法,使用下面的方法体计算字符串中的字母个数.编写一个测试程序,提示用户输入字符串,然后显示字符串中的字母个数 题目 题目描述 破题 代码 运行示例 题目 ...
- 从命令行参数中得到一个字符串,统计该字符串中字母 a 的出现次数。
从字节或字符串数组中得到一个字符串,统计该字符串中字母 a 的出现次数. public class Test2 {public static void main(String[] args) {// ...
- 统计字符个数的c语言程序设计,编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数。...
编写一个函数,由实参传来一个字符串,统计此字符串中字母,数字,空格和其他字符的个数.在主函数中输入字符串以及输出上述结果. [c源程序] #include int letter,digit,space ...
- 编程. 已知字符串:this is a test of java. 按要求执行以下操作: (1) 统计该字符串中字母s出现的次数 (2) 取出子字符串test (3) 用多种方式将本字
package Char_String;import com.sun.xml.internal.ws.util.StringUtils;import java.util.Arrays;/** * Cr ...
最新文章
- [na]pc加入域认证细节
- 苹果ANCS协议学习【转】
- Windows XP Mode for Windows 7
- mysql支持UUID做外键_Mysql中以uuid为外键插入多条数据,怎样实现同一个二级分类外键关联的数据为同一个uuid的值...
- 【CentOS 7笔记24】,实验中发生的磁盘小故障#
- 深度学习笔记 第五门课 序列模型 第三周 序列模型和注意力机制
- 如何从ngrx store中获取Observable对象
- 【渝粤教育】国家开放大学2018年秋季 2083T信息技术与教育技术(2) 参考试题
- win32键盘输入python_python-win32api键盘输入教程
- 计算机无法连接无线信号,win7系统连接无线信号时提示Windows无法连接到路由器名称的四种解决方法...
- 4步精准诊断“门店数字化”问题,助力门店起死回生
- C++STL源码剖析之vector
- android加密打包,(爱加密系列教程二十)Xamarin开发Android应用、如何打包apk(转载)...
- ShuffleNet v2
- python xlrd 写入已有的excel并保留原excel格式
- word2019每页设置不同页眉
- 什么是用户实体行为分析(UEBA)
- 实时记录运动轨迹插件_Matlab Mobile高逼格实时记录GPS运动轨迹(各项参数统计计算)——无第三方包依赖...
- 互联网大佬纷纷搞养殖,这是为哪般~~~
- 秒换算 天 时 分 秒
热门文章
- 人工智能进阶-CIFAR-10数据集介绍
- 海康威视 AI Cloud 软硬件平台
- 人工智能如何彻底改变全球物流和供应链管理
- 干货|全面理解无监督学习基础知识
- 重磅丨国家发改委公布56个AI支持项目名单
- 专访丨周志华:深度学习理论探讨比应用滞后太多
- Python 之 Pandas (六)合并
- (如何从一个列表中随机抽样)np.random.choice(),random.sample()
- SOR迭代求解线性方程组代码实现
- 黄仁勋回应放弃收购Arm:公司战略并没有太大改变