java统计文件中每个字符出现个数的代码
- 更新时间:2020-05-05 15:24:21
- 编辑:江高芬
本文实例为大家分享了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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。
相关教程
-
Java IO流之字符缓冲流的实例详解
这篇文章主要介绍了Java IO流之字符缓冲流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
发布时间:2019-07-31
-
java8、jdk8日期与字符串转化
在本篇文章中小编给大家整理了关于java8、jdk8日期转化成字符串的相关知识点和代码,需要的朋友们学习下。
发布时间:2020-01-27
-
java实现统计字符串中大小写字母及数字出现次数的实例
这篇文章主要介绍了java实现统计字符串中大写字母,小写字母及数字出现次数的方法,涉及java针对字符串的遍历、判断、运算相关操作技巧,需要的朋友可以参考下
发布时间:2019-07-01
-
java中字符串数组、字符串、整形之间的转换详解
这篇文章主要介绍了浅谈java中字符串数组、字符串、整形之间的转换,具有一定参考价值,需要的朋友可以了解下。
发布时间:2020-04-21
-
Java String字符串和Unicode字符相互转换实例代码
这篇文章主要介绍了Java String字符串和Unicode字符相互转换代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习
发布时间:2019-12-24
-
Java Web轻量级开发面试教程
本书围绕软件公司对高级程序员的平均标准要求,构建了Java Web方面的高级程序员的进阶体系,以及在面试时如何高效地介绍自己项目经验的方法,适合想从事软件行业的在校学生、正在找工作
大小:49.5 MBJava电子书
-
Java开发实例大全:基础卷
本书超级详尽的实例大全,源码分析的案头手册,提高效率的绝好帮手,45个方向,1201个实例案例,java编程类四库全书,分门别类常用编程实例,《java开发实战1200例》之全新升级
大小:176 MBJava实例电子书
-
Web前端开发精品课 JavaScript基础教程
《JavaScript基础教程》 共分为2大部分,第1部分是JavaScript基础知识,主要学习JavaScript基础概念如变量、运算符、表达式等。第二部分是JavaScript进阶知识,主要学习DOM、事件操作以及各种开发技
大小:9.7 MB前端电子书
-
Java Web开发实例大全:提高卷
本书筛选、汇集了Java Web开发从基础知识到高级应用各个层面,含600经典实例及源码分析,23个应用方向,两卷共1200例,46个方向,供学习、速查、实践练习的超全参考手册
大小:179.4 MBJava Web电子书
-
第一行代码[Java]视频讲解版
本书是国内原创经典Java入门书,以丰富的例子、通俗易懂的语言、简单的图示,详细地介绍了Java开发中重点用到的多种技术,包括Java简介、程序基本概念、面向对象基本概念、面向对象高级知识、Eclipse开发工具等
大小:153.8 MBJava代码电子书
-
JavaScript数据可视化编程
大小:61.8 MBjs编程电子书
-
Java高并发编程详解:多线程与架构设计
《Java高并发编程详解》立足于线程源码剖析,从基础入手,逐层渐进深入,环环紧扣,针对技术细节进行了细致归纳,在解读源码的时候又引入了优秀的架构设计。
大小:120.77 MBJava编程电子书
-
图解Java多线程设计模式
本书通过具体的Java 程序,以浅显易懂的语言逐一说明了多线程和并发处理中常用的12 种设计模式。内容涉及线程的基础知识、线程的启动与终止、线程间的互斥处理与协作、线程的有效应用、线程的数量管理以及性能优化的注意事项等。
大小:86.3 MBJava多线程电子书
-
RxJava 2.x 实战
《RxJava 2.x 实战》 首先讲解了函数式响应式编程的概念,包括Observables、Subject、Processor 等,以及RxJava的优点和用途。然后讲解了RxJava 中必不可少的操作符,包括创建操作符、变换操作符、过滤
大小:149 MBRxJava电子书
-
Java微服务实战
大小:43.2MBJava实战电子书