java 去英文单词出现的次数
来源:互联网 发布:淘宝3个月没卖出一件 编辑:程序博客网 时间:2024/04/30 02:55
代码如下所示:
package test3;/** * 去英文单词出现的次数 * @author saicy (博客http://blog.csdn.net/sai739295732/) */import java.util.Comparator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.TreeSet;import java.util.regex.Matcher;import java.util.regex.Pattern;public class Main{ private static Scanner scan;public static void main(String[] args){ scan = new Scanner(System.in); String str=scan.nextLine(); Main m = new Main(); m.getValue(str); } public void getValue(String str){ //提取出单词 Map<String,Integer> map = getString(str,"[a-zA-Z0-9]+"); //排序 TreeSet<Entry<String, Integer>> set = sortMap(map); //输出数据 for(Entry<String, Integer> entry:set){ System.out.println(entry.getKey()+" "+entry.getValue()); } } private TreeSet<Entry<String, Integer>> sortMap(Map<String, Integer> map) { TreeSet<Entry<String, Integer>> set = new TreeSet<Entry<String, Integer>>(new Comparator<Entry<String, Integer>>() {@Overridepublic int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) {int count1 = o1.getValue().intValue();int count2 = o2.getValue().intValue();//比较次数if(count1>count2){return -1;}else if(count1<count2){return 1;}else{//比较手写字母的大小int key1 = (int)o1.getKey().charAt(0);int key2 = (int)o2.getKey().charAt(0);if(key1>key2){return 1;}else if(key1<key2){return -1;}else{return 0;}}}}); set.addAll(map.entrySet());return set;}private Map<String,Integer> getString(String str, String regx) { Map<String,Integer> map = new LinkedHashMap<>(); //1.将正在表达式封装成对象Patten 类来实现 Pattern pattern = Pattern.compile(regx); //2.将字符串和正则表达式相关联 Matcher matcher = pattern.matcher(str); //3.String 对象中的matches 方法就是通过这个Matcher和pattern来实现的。 //System.out.println(matcher.matches()); //查找符合规则的子串 while(matcher.find()){ //获取 字符串 //将截取的英文单词转为小写 String mapKey = matcher.group().toLowerCase(); Integer count = map.get(mapKey); //存储英文单词出现的次数 if(count!=null){ map.put(mapKey,count.intValue()+1); }else{ map.put(mapKey,new Integer(1)); } } return map; } }
输出结果:
0 0
- java 去英文单词出现的次数
- Java统计一篇英文单词出现次数
- Java统计一篇文章中出现次数最多的汉字或英文单词 又出现次数的统计
- Java——检索一段话中出现次数最多的英文单词
- spark统计文献中每个英文单词出现的次数
- 黑马程序员——统计文件中每个英文单词出现的次数
- 【代码】统计文件中,不同字符出现的次数(可排序,没有处理英文单词、数字和大小写)
- 原生JS去重(二)--去重且判断字符重复出现的次数
- java-字符串中字符出现的次数
- JAVA---字符串出现的次数案例
- java获取字母出现的次数
- Java 获取指定字符串出现的次数
- Java 获取指定字符串出现的次数
- 蓝桥杯 出现次数最多的整数 JAVA
- java 查找子串出现的次数
- java统计每个字母出现的次数
- (JAVA) 出现次数最多的数
- 用Java统计单词出现的次数
- margin塌陷问题与合并问题
- 好玩的API调用之---星座运势的API与爬虫爬取
- C++实现栈中元素排序
- LeetCode | 21. Merge Two Sorted Lists
- oj2325查找【数组】
- java 去英文单词出现的次数
- 1407: [Noi2002]Savage
- hdu1242优先队列+BFS
- 104. Maximum Depth of Binary Tree Add to List DescriptionHintsSubmissions
- jquery.pagination.js分页的使用
- Python 编程遇到的一些小问题 新手勿喷,嘻嘻
- java-创建线程
- linux makefile教程
- Android 对话框