java統計abacbacdadbc中的每個字母出現的次數,輸出格式是:a(4)b(3)c(3)d(2)

CarinAcosta 8年前發布 | 33K 次閱讀 Java

import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
/
  統計abacbacdadbc中的每個字母出現的次數,輸出格式是:a(4)b(3)c(3)d(2)
  
  選中TreeMap的原因是:key不重復且按順序排序取出
  
  思路:
  1.將字符串abacbacdadbc轉換成字符數組
  2.分別取字符,與TreeMap中的key進行比較
    2.1 如果TreeMap中存在對應的字符,則取出并自增,再存入TreeMap
    2.2 如果TreeMap中不存在對應的字符,則直接存入該字符,value=1
 */

public class A3B1C2_TreeMapTest {

public static void main(String[] args) {

    TreeMap<String, Integer> tm=new TreeMap<>();
    String string="abacbacdadbc";
    char[] ch=string.toCharArray();

    for(char r :ch){
        //tm.put(String.valueOf(r), 1);
        //System.out.println(r);    
        if(compareKey(r, tm))
        {
            int i=tm.get(String.valueOf(r));
            i++;
            tm.put(String.valueOf(r), i);
        }else {
            tm.put(String.valueOf(r), 1);
        }
    }
    System.out.println(tm); 
    Set<Map.Entry<String, Integer>> entrySet=tm.entrySet();
    Iterator<Map.Entry<String, Integer>> iterator=entrySet.iterator();
    while(iterator.hasNext()){
        Map.Entry<String, Integer> me=iterator.next();
        String key=me.getKey();
        int value=me.getValue();
        System.out.print(key+"("+value+")");            
    }

}
public static boolean compareKey(char c,TreeMap<String, Integer> treeMap){
    if (treeMap.containsKey(String.valueOf(c))) {
        return true;
    }
    return false;
}

}</pre>


 本文由用戶 CarinAcosta 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!