java統計abacbacdadbc中的每個字母出現的次數,輸出格式是:a(4)b(3)c(3)d(2)
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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!