Java字符统计并排序
2011-03-29 08:43
615 查看
Java字符统计
Luo Weifeng 2011-3-28字符统计可能是大多数人入门编程语言的时候都会遇到的一个题目。可是并不一定每个人都实现的那么完美。昨天帮MM调她的程序,感觉到混乱不堪,就自己写了一个字符统计的东西,因为我一贯的原则是“将神的恩赐发挥到极致”,一直认为把复杂的东西做简单,把简单的问题做完美。呵呵,废话不说,贴代码如下,以殇读者:
package test; import java.io.*; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Hashtable; import java.util.List; /** * 对一个保存英文文章的文本文档进行统计,最后给出每个英文字符的出现次数,按降幂排列 */ public class SortedCharactersCounter { static final Hashtable<String, Integer> h = new Hashtable<String, Integer>(); public static void main(String args[]) { try { FileInputStream fis = new FileInputStream("str.txt"); InputStreamReader dis = new InputStreamReader(fis); BufferedReader reader = new BufferedReader(dis); String s = null; //统计字母 while ((s = reader.readLine()) != null) { for (int i = 0; i < s.length(); i++) { int temp = 0; if (h.containsKey(String.valueOf(s.charAt(i)))) temp = h.get(String.valueOf(s.charAt(i))) + 1; else temp = 1; h.remove(String.valueOf(s.charAt(i))); h.put(String.valueOf(s.charAt(i)), temp); } } dis.close(); //排序 List<String> sortedKeys = new ArrayList<String>(h.keySet()); Collections.sort(sortedKeys, new Comparator<Object>() { public int compare(Object arg0, Object arg1) { return h.get(arg1) - (h.get(arg0)); } }); // 输出 for (String str : sortedKeys) System.out.println("'" + str + "':" + h.get(str)); } catch (IOException e) { } } }
相关文章推荐
- java例程练习(统计字母数字等字符的个数)
- java小练习之统计字符串中字符出现的次数
- java统计字符串中字符及子字符串个数
- java统计字符串中出现最多的字符
- java基础语法练习--输入一串字符统计各字符数目
- 【Java----统计字符串匹配个数】
- 牛客网-Java-字符统计
- 统计字符串”abadcdffbaeba”中每个字符出现了多少次,按次数排序并输出
- java编程---3.2 (关于String的练习题) 统计字符串中每个字符的个数,例如:把aaaabbaaccbb变成a6b4c2
- java:统计字符出现次数
- java统计英文字母、空格、数字和其它字符的数目
- 1042. 字符统计(20)-浙大PAT乙级真题java实现
- java统计List中的元素重复出现的次数和对map按key或键值排序
- Java_基础—统计字符串中每个字符出现的次数
- java实现图片转化为字符图片--统计字符所占的面积
- java统计中文字符出现次数
- 统计字符串中字符出现次数以及排序
- 用Java统计字符串中的字母、数字、空格和其他字符
- java统计字符串中重复字符出现次数的方法
- Java-->把txt中的所有字符按照码表值排序