java统计文件中每个字符出现的个数
作者:给糖吃的小骗子 发布时间:2021-12-22 06:43:42
标签:java,统计,字符
本文实例为大家分享了java统计文件中字符个数的具体代码,供大家参考,具体内容如下
package com.zhu.io;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
public class FileCharacter{
Map<Character,Integer>map=new TreeMap<Character,Integer>();
public FileCharacter(String fileName) throws IOException{
BufferedReader br=new BufferedReader(new FileReader(new File(fileName)));
int x;
while((x=br.read())>0){
Character key=new Character((char)x);
if(map.containsKey(key)){
int count=map.get(key);
map.remove(key);
map.put(key, ++count);
}else{
map.put(key, 1);
}
}
}
public int getCount(char c){ //获取字符在文件中出现的个数
return map.get(c);
}
public Set<Character> getAllChar(){ //获取文件中字符的Set集合
return map.keySet();
}
public Map<Character,Integer> getMap(){ //获取字符与其出现个数组成的Map集合
return map;
}
public void printInfo(){ //打印信息
Set<Map.Entry<Character, Integer>>set=map.entrySet();
for(Map.Entry<Character, Integer> entry:set){
System.out.println("[ "+entry.getKey()+" ]"+"\t"+"count:"+entry.getValue());
}
}
public static void main(String[] args) throws IOException {
FileCharacter fc=new FileCharacter("e:\\test.txt");
fc.printInfo();
}
}
小编另为大家分享一段代码:计算一个字符串中每个字符出现的次数
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
/**
* 计算一个字符串中每个字符出现的次数
*
* 思路:
* 通过toCharArray()拿到一个字符数组-->
* 遍历数组,将数组元素作为key,数值1作为value存入map容器-->
* 如果key重复,通过getKey()拿到value,计算value+1后存入
*/
public class Test01 {
public static void main(String[] args) {
System.out.println("请输入字符串:");
Scanner sc=new Scanner(System.in);
while (sc.hasNextLine()){
String str=sc.nextLine();
Map<Character,Integer> map =count(str);
System.out.println(map);
}
}
public static Map<Character,Integer> count(String str){
Map<Character,Integer> map=new HashMap<Character,Integer>();
char[] array_char=str.toCharArray();//把字符串转成字符数组
for(char arr_char: array_char){//遍历字符数组
if(map.containsKey(arr_char)){//查看字符是否在map的key中存在,如果存在
Integer old=map.get(arr_char);//通过key获取value的值
map.put(arr_char,old+1);//把字符放入map的key中,value设置为通过key获取value的值+1
}else{//查看字符是否在map的key中存在,如果不存,把字符放入map的key中,value默认设置为1
map.put(arr_char,1);
}
}
return map;
}
}
来源:https://blog.csdn.net/z956281507/article/details/72845563


猜你喜欢
- 本文实例为大家分享了WPF实现3D翻牌式倒计时的具体代码,供大家参考,具体内容如下实现效果如下:思路:使用自定义控件,设置一个背板 MyCa
- 开始逐渐领略到ItemDecoration的美~今天让我 使用 ItemDecoration 来完成 可推动的悬浮导航栏的效果,最终实现的效
- 本文实例分析了Android中ListView用法。分享给大家供大家参考,具体如下:通过在Layout中添加ListView Widget可
- 本文实例讲述了Java实现的双向匹配分词算法。分享给大家供大家参考,具体如下:目前比较流行的几大分词算法有:基于字符串匹配的分词方法、基于理
- io学习框架:文件:保存数据的地方。1)常见文件对象的相关构造器和方法:当进行File file = new File(filePath);
- 在jdk1.4中提出的技术,非阻塞IO,采用的是基于事件处理方式。传统的io技术为阻塞的,比如读一个文件,惹read方法是阻塞的,直到有数据
- 一、什么是特性特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通
- 本文实例为大家分享了C#实现QQ聊天窗口的具体代码,供大家参考,具体内容如下分析需要两个TextBox,一个用于显示消息,一个用于编辑消息需
- 背景在开发需求当中,当有总收益、总用户数等数字要显示时,为了更好的给用户提供展示效果,往往会想加入炫酷的数字滚动动画,使呆板平静的数字变得灵
- 前言:Java 中 hashCode() 和 equals() 的关系是面试中的常考点,如果没有深入思考过两者设计的初衷,这个问题将很难回答
- SpringBoot2.3.1版本源码一、SpringBoot启动的时候加载主配置类,通过@EnableAutoConfiguration注解
- 前言此节假日为严格按照国家要求的双休和法定节假日并且包含节假日的补班信息,大家可根据自己的需求自定义处理哦。以下为Maven配置,是程序用到
- Java 理解 ThreadLocal摘要: ThreadLocal 又名线程局部变量,是 Java 中一种较为特殊的线程绑定机制,用于保证
- 本文简单分析了C/C++中常用函数的易错点,包括memset、sizeof、getchar等函数。分享给大家供大家参考之用。具体分析如下:1
- 一、前言 在学习了循环、分支、和函数之后,可以写一些简单的小游戏来给自己的编程之路增添一
- 环境变量这个概念不陌生, 就是操作系统的环境变量。系统变量就是java本身维护的变量。 通过 System.getProperty 的方式获
- 这几天在上海出差,忙里偷闲学习了一下Apk的反编译工具的基本使用。下面就简单介绍一下如何将我们从网上下载的Apk文件进行反编译得到我们想要获
- 服务器端我们用软件模拟,是一个很小巧的软件,下载软件NetAssist:http://xiazai.jb51.net/201403/tool
- 1 本地调试介绍本地调试: 这里是指在开发环境中,部署了一整套的某个项目或者产品的服务,开发人员开发时,本地会起一个或多个服务,这些服务和开
- 前言记得几年前有一次栈长去面试,问到了这么一个问题:Java中的对象都是在堆中分配吗?说明为什么!当时我被问得一脸蒙逼,瞬间被秒杀得体无完肤