JavaSE教程_进阶
package com.wkcto.hashmap;
import java.util.HashMap;
import java.util.Map.Entry;
import java.util.Set;
/**
* HashMap的应用
* 需求:
* 统计一个字符串中每个字符出现的次数
* a : 5
* c : 8
* d : 3
*
* @author 北京极悦
*
*/
public class Test03 {
public static void main(String[] args) {
String text = "dkdkajklajfjadjlkaflkalkagladfalkjdfljflkjflkjfkljalkfjd";
//1)定义一个HashMap保存<字符,次数>统计结果
HashMap<Character, Integer> hashMap = new HashMap<>();
//2)遍历字符串中的每个字符
for( int i = 0 ; i<text.length() ; i++){
char cc = text.charAt(i); //返回字符串中的每个字符
//如果该字符是第一次出现, 把<字符, 1> 保存到hashMap中
//如果hashMap中的键不包含cc字符, 就是第一次出现
if ( !hashMap.containsKey(cc)) {
hashMap.put(cc, 1);
}else{
//如果该字符不是第一次出现, 把map中字符的次数取出来, 加1 , 再保存map中
int count = hashMap.get(cc);
hashMap.replace(cc, count+1);
}
}
//3)打印结果
Set<Entry<Character, Integer>> entrySet = hashMap.entrySet();
for (Entry<Character, Integer> entry : entrySet) {
System.out.println( entry.getKey() + " : " + entry.getValue() );
}
}
}