- 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十分好用!比如说题目上这个,或者说统计相同自定义对象(不过自定义对象要重写方法)个数。大家来看代码,自己写的可能不大好~请尽力吐槽吧!
|
|