大概题目是这样的,有数字12,33,2,65,10,4,45,79,78,90等数字,求统计各个数字出现的次数。 本人水平较菜,下面是我写的字符出现次数通用方法,如果有其它更好的算法,不妨提出来,谢谢。 package com.teedry.interview; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * * <p> * 统计字符出现的次数 * </p> * @author ZENGZHANGHUA * @version 1.0 */ public class Count { private Map<String, Integer> cMap = new HashMap<String, Integer>(); public void printCount(String[] arr) { for(String a : arr){ for(int j=0;j<a.length();){ String key = a.substring(j,++j); Integer value = cMap.get(key); if(value != null){ cMap.put(key, value+1); }else { cMap.put(key, 1); } } } for(Iterator iter=cMap.keySet().iterator();iter.hasNext();){ String key = (String) iter.next(); System.out.println(key+"出现的次数为:"+cMap.get(key)); } } public static void main(String[] args){ String a = "100,3,4,33,19,13,12,80,8,54,25,55,333"; String[] arr = a.split(","); new Count().printCount(arr); } }