Java面向对象
Java异常
Java数组
Java常用类
Java集合
Java IO流
Java线程
Java反射
Socket编程
Java注解开发
Java GoF设计模式
HashMap
Java内存模型
Java线性表

HashMap的应用

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 北京赢咖4
 *
 */
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() );
		}
	}
}

 

全部教程