map 集合 和流的综合

package com.itheima.homework2;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.HashMap;


/**
 * @author ChenY@itheima.com
 * @date 2022/8/8 19:18
 */
public class Test
{
    // 统计字符出现的次数
    public static void main(String[] args) throws Exception
    {

        // 1.创建Map集合,限制键的类型为Character,值的类型为Integer
        HashMap<Character, Integer> map = new HashMap<>();
        // 创建文件字符输入流 关联文件数据源路径
        FileInputStream fis = new FileInputStream("day13-code\\itheima.txt");
        // 将文件输入流 转换成bufferedread 读取一行
        InputStreamReader is = new InputStreamReader(fis);
        BufferedReader buffread = new BufferedReader(is);



        //循环读取

        for (int j = 0; j < 26; j++)
        {
            String str = buffread.readLine();
            // 2循环遍历字符串
            for (int i = 0; i < str.length(); i++) {
                // 3.在循环中,获取遍历出来的字符
                char c = str.charAt(i);
                // 4.在循环中,判断遍历出来的字符在Map集合中是否有相同的键
                if (map.containsKey(c)) {
                    // 6.如果有相同的键,那么就获取该键对应的值,然后+1,作为新的值,存储进去(覆盖了之前的值)
                    Integer value = map.get(c);
                    value++;
                    map.put(c, value);
                } else {
                    // 5.如果没有相同的键,那么遍历出来的字符作为键,值为1
                    map.put(c, 1);
                }
            }
        }
        System.out.println(map);
    }
}

全部评论
楼主厉害,能静下心写代码,佩服
点赞 回复 分享
发布于 2022-08-09 10:58

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务