代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
根据并字符串求出出现最频繁的字符
作者:
B.K.Wang
/ 发布于
2013/1/15
/
634
输入一个字符串,根据并字符串求出出现最频繁的字符,并打印出现次数(并能处理多个最多结果的情况)
package com.my.oa; import java.util.Iterator; import java.util.Map; import java.util.TreeMap; import java.util.TreeSet; import java.util.Map.Entry; /** * @author: Xushengxiang * @version: * @function: 输入一个字符串,根据并字符串求出出现最频繁的字符,并打印出现次数(并能处理多个最多结果的情况)! */ public class StringAppearTimes { public static void main(String[] args) { String str ="中国人民银行行长:XuWeiJun"; processFacade(str); } /** * 门面 */ private static void processFacade(String str) { Map<Character, Integer> map = produceTreeMap(str); TreeSet<Integer> set = produceTreeSet(map); printResult(map, set); } /** * 生成TreeMap */ private static Map<Character, Integer> produceTreeMap(String str) { char[] c = str.toCharArray(); int length = c.length; Map<Character,Integer> map = new TreeMap<Character,Integer>(); for (int i = 0; i < length; i++) { if(map.containsKey(c[i])){ Integer value = map.get(c[i]) + 1; map.put(c[i], value); } else{ map.put(c[i], 1); } } return map; } /** * 根据出现次数生成TreeSet */ private static TreeSet<Integer> produceTreeSet(Map<Character, Integer> map) { TreeSet<Integer> set = new TreeSet<Integer>(); for(Iterator<Entry<Character, Integer>> ite = solveMapIterator(map);ite.hasNext();){ Entry<Character, Integer> entry = ite.next(); set.add(entry.getValue()); } return set; } /** * 打印结果 */ private static void printResult(Map<Character, Integer> map, TreeSet<Integer> set) { for(Iterator<Entry<Character, Integer>> ite = solveMapIterator(map);ite.hasNext();){ Entry<Character, Integer> entry = ite.next(); if(entry.getValue() == set.last()){ System.out.println("最频繁的字符:" + entry.getKey() + " ,出现次数: " +entry.getValue()); } } } /** * 对Map的迭代处理 */ private static Iterator<Entry<Character, Integer>> solveMapIterator( Map<Character, Integer> map) { Iterator<Entry<Character, Integer>> iterator = map.entrySet().iterator(); return iterator; } }
试试其它关键字
出现最频繁
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
B.K.Wang
贡献的其它代码
(
5
)
.
导出信息到Excel的工具类
.
根据并字符串求出出现最频繁的字符
.
求出数组里的最大数
.
轮播
.
输入字符串,反序存放,最后输出
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3