1,直接看代码:
package Task;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class TestHashMap {
public static void main(String[] args) {
//练习使用HashMap统计字符个数,计算一个字符串中每个字符出现次数。要求结果的格式: a(1)b(2c(3)d(4)e(5)
//第一步:接收字符;
Map<Character, Integer> map = new HashMap<>();
System.out.println("请输入字符串:");
Scanner sc = new Scanner(System.in);
String str = new String(sc.next());
char[] chars = str.toCharArray();//将字符串转换为数组;
//第二步:统计每个字符个数;
for (char c : chars
) {
Integer integer = map.get(c);
if (integer == null) {
map.put(c, 1);
} else
map.put(c, ++integer);
}
//第三步:输出;利用EntrySet方法;
Set<Map.Entry<Character, Integer>> entries = map.entrySet();
StringBuilder sb = new StringBuilder();//StringBuilder可变(地址不变,不占内存);
for (Map.Entry<Character, Integer> ch : entries
) {
sb.append(ch.getKey()).append("(").append(ch.getValue()).append(")");
}
System.out.println(sb);
}
}
2,运行结果:
3,作用:
统计输入字符串中每个字符的个数,用于斗地主打麻将记录已出牌等。