统计字符串中的字符数量 思路 我们不仅要存字符还要存字符出现的次数,从这题目上来看需要用到两个数组或者两个List集合,一个存字符,一个存次数,虽然一样能实现我们的需求,但是效率不高,我们可以使用map集合的特性,利用键值对和不能包含相同的键的特性,用键来表示字符,用值来表示字符出现的次数。 代码部分 package Demo; import java.util.*; public class A { public static void main(String[] args) { System.out.println("请输入"); Scanner sc = new Scanner(System.in); String str = sc.next(); HashMap<Character, Integer> map = new HashMap<Character, Integer>(); //遍历字符串 for (int i = 0; i < str.length(); i++) { // 把字每次字符赋给临时变量使用 char c = str.charAt(i); // 判断获取的当前字符是否在map集合的键中存在 if (map.containsKey(c)) { // 如果存在就在获取当前键所对应的值,在当前的键对应的值上面加1; int count = map.get(c); count++; map.put(c, count); } else { // 如果不存在就直接存进map集合,并给值为1 map.put(c, 1); } } // 循环输出map集合 for (Character key : map.keySet()) { int b = map.get(key); System.out.println("元素:" + key + "数量" + b); } } }