java集合框架的练习之HashMap集合的运用


 要求:

  统计字符串中每个字符出现的次数


 分析:
  1.定义一个需要被统计字符的字符串
  2.将字符串转换成字符数组
  3.定义双列集合,用来存储字符串中字符以及字符出现的次数
  4.遍历字符数组获取每一个字符,并将字符存储在双列集合中
     存储过程中要做判断,如果集合中不包含这个键,就将该字符当做键,值为1存储,如果集合中包含这个键,就将值加1存储
  5.打印双列集合获取字符出现的次数
 


代码:

import java.util.HashMap;
import java.util.Scanner;


public class Count_HashMap {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("please input a string:");
        String str = input.nextLine();
        char[] arr = str.toCharArray();         // 将字符串转换成字符数组
        
        HashMap<Character, Integer> hm = new HashMap<>();         // 定义双列集合
        
        for (char ch : arr) {
        /*    if (!hm.containsKey(ch)) {
                hm.put(ch, 1);
            } else {
                hm.put(ch, hm.get(ch) + 1);
            }*/
            hm.put(ch, !hm.containsKey(ch) ? 1 : hm.get(ch) + 1);          // 存储字符串中字符以及字符出现的次数
        }
        
        System.out.println("\nstatistics:");
        for (char key : hm.keySet()) {        //  hm.keySet()  ==>  取得所有键的集合
            System.out.println("字符'" + key + "'出现" + hm.get(key) + "次");      //  hm.get(key)  ==>  根据键获取值
        }
        
        input.close();
    }

}



运行结果:




获取相关代码链接请点击:https://github.com/striner/javaCode/blob/master/HashMap

喜欢就请关注哦,你们的关注是我最大的动力~


猜你喜欢

转载自blog.csdn.net/striner/article/details/78476682