• java统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)


     1 import java.util.Iterator;
     2 import java.util.Map;
     3 import java.util.Set;
     4 import java.util.TreeMap;
     5 /*
     6  * 统计abacbacdadbc中的每个字母出现的次数,输出格式是:a(4)b(3)c(3)d(2)
     7  * 
     8  * 选中TreeMap的原因是:key不重复且按顺序排序取出
     9  * 
    10  * 思路:
    11  * 1.将字符串abacbacdadbc转换成字符数组
    12  * 2.分别取字符,与TreeMap中的key进行比较
    13  *   2.1 如果TreeMap中存在对应的字符,则取出并自增,再存入TreeMap
    14  *   2.2 如果TreeMap中不存在对应的字符,则直接存入该字符,value=1
    15  */
    16 
    17 public class A3B1C2_TreeMapTest {
    18 
    19     public static void main(String[] args) {
    20 
    21         TreeMap<String, Integer> tm=new TreeMap<>();
    22         String string="abacbacdadbc";
    23         char[] ch=string.toCharArray();
    24         
    25         for(char r :ch){
    26             //tm.put(String.valueOf(r), 1);
    27             //System.out.println(r);    
    28             if(compareKey(r, tm))
    29             {
    30                 int i=tm.get(String.valueOf(r));
    31                 i++;
    32                 tm.put(String.valueOf(r), i);
    33             }else {
    34                 tm.put(String.valueOf(r), 1);
    35             }
    36         }
    37         System.out.println(tm);    
    38         Set<Map.Entry<String, Integer>> entrySet=tm.entrySet();
    39         Iterator<Map.Entry<String, Integer>> iterator=entrySet.iterator();
    40         while(iterator.hasNext()){
    41             Map.Entry<String, Integer> me=iterator.next();
    42             String key=me.getKey();
    43             int value=me.getValue();
    44             System.out.print(key+"("+value+")");            
    45         }
    46         
    47     }
    48     public static boolean compareKey(char c,TreeMap<String, Integer> treeMap){
    49         if (treeMap.containsKey(String.valueOf(c))) {
    50             return true;
    51         }
    52         return false;
    53     }
    54 
    55 }
  • 相关阅读:
    2020年4月4日训练
    HZNU Training 17 for Zhejiang Provincial Competition 2020
    [kuangbin带你飞]专题四 最短路练习
    三分法
    洛谷多校第一周续
    洛谷春季 ACM 多校训练第五周
    简单数学三月小结
    线段树&树状数组
    图论三月小结
    Java中Double保留后小数位的几种方法
  • 原文地址:https://www.cnblogs.com/lr393993507/p/5702774.html
Copyright © 2020-2023  润新知