代碼如下:
public static void main(String[] args) { String str = "大批量,之前都沒怎么注意過,這個問題確實不會,網上參考了下別人的,大體上是這個意思:" + "合並數據+事務的方法在較小數據量時,性能提高是很明顯的,數據量較大時(1千萬以上)," + "性能會急劇下降,這是由於此時數據量超過了innodb_buffer的容量,每次定位索引涉及較多的磁盤讀寫操作," + "性能下降較快。而使用合並數據+事務+有序數據的方式在數據量達到千萬級以上表現依舊是良好,在數據量較大時," + "有序數據索引定位較為方便,不需要頻繁對磁盤進行讀寫操作,所以可以維持較高的性能"; char[] chars = str.toCharArray(); HashMap<Character, Integer> map = new HashMap<Character, Integer>(); int max = 0; for (char c : chars) { if (map.containsKey(c)) { int oldnum = map.get(c); map.put(c, oldnum + 1); if (max < oldnum + 1) max = oldnum + 1; } else { map.put(c, 1); } } Set<Character> keys = map.keySet(); for (char c : keys) { if (map.get(c) == max) { System.out.println(c + "出現了" + map.get(c) + "次 次數最多 "); } else { System.out.println(c + "出現了" + map.get(c) + "次"); } } }