标签:字符 Java value 集合 tm key 字符串
需求:键盘录入一个字符串,统计其中各个字符出现的顺序
分析:
1.使用Scanner类获取一个字符串
2.创建HashMap集合,如果追求统计字符的美观性,可以使用TreeMap
3.遍历字符串得到每一个字符并将其作为TreeMap的键
4.通过键去集合中找相对应的值,看返回值是什么?
返回null:说明该字符在集合中不存在,就将该字符为键,次数1为值进行存储
返回的不是null:说明该字符在集合中存在,就再次将该字符作为键,次数+1为值进行存储
5.遍历集合
public class TreeMapDemo {
public static void main(String[] args) {
//创建TreeMap集合对象
TreeMap<Character,Integer>tm=new TreeMap<Character,Integer>();
//创建Scanner对象
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个字符串");
String s=sc.nextLine();
//遍历字符串
for (int i=0;i<s.length();i++){
//获取每一个字符
char key =s.charAt(i);
//拿到的每一个字符到集合中找相对应的值
Integer value=tm.get(key);
//判断返回值
if (value==null){
tm.put(key,1);
}else {
value++;
tm.put(key,value);
}
}
//遍历集合并拼接
StringBuilder sb=new StringBuilder();
Set<Character> keySet=tm.keySet();
for (char key :keySet){
Integer value=tm.get(key);
sb.append(key).append("(").append(value).append(")");
}
String result = sb.toString();
System.out.println(result);
}
}
标签:字符,Java,value,集合,tm,key,字符串 来源: https://www.cnblogs.com/CYan521/p/16079054.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。