黑马程序员技术交流社区
标题:
map统计字符串中字符出现的次数
[打印本页]
作者:
涿郡丶二哥
时间:
2015-5-2 09:12
标题:
map统计字符串中字符出现的次数
package intcast_0430;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/*
* 7、 取出一个字符串中字母出现的次数。如:字符串:"abcdekka27qoq" ,输出格式为:a(2)b(1)k(2)...
* 思路: 1)定义一个字符串
* 2)将字符串转换成字符数组,定义Map集合,统计变量
* 3)遍历字符串数组,没有相同的就存入,有相同的就+1
* 4)遍历集合,调格式
*/
public class ExamTest7 {
public static void main(String[] args) {
String str = "abcdekka27qoq";
//转成字符数组
char[] chs = str.toCharArray();
//定义Map集合
Map<Character, Integer> map = new TreeMap<Character, Integer>();
Set<Character> mapchs = map.keySet();
for(int i=0; i<chs.length; i++){
if(mapchs.contains(chs[i])){
int temp = map.get(chs[i])+1;
map.put(chs[i], temp);
}else{
map.put(chs[i],1);
}
}
for(Character string: mapchs){
System.out.print(string+"("+map.get(string)+")");
}
}
}
复制代码
前一阵学习Map学习了键是唯一的,值是不唯一的,在做相同元素统计的时候Map十分好用!比如说题目上这个,或者说统计相同自定义对象(不过自定义对象要重写方法)个数。大家来看代码,自己写的可能不大好~请尽力吐槽吧!
作者:
Demomiku
时间:
2015-5-2 09:37
谢谢,学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2