最近面试总被面试到,整理出几种方式(有参考别人的部分)

  1. /**
  2. * java一个字符串中出现次数最多的字符以及次数
  3. * @param args
  4. */
  5. public static void main(String[] args) {
  6. String str = "abccadbcadbc";
  7. //字符串放入map
  8. Map<Character,Integer> map = getNumberOfCharacters(str);
  9. //若想要打印出出现次数最多的字母以及次数,要将map进行排序
  10. sortMap(map);
  11.  
  12. }
  13.  
  14. /**
  15. * 将字符串放进map并将字母作为key值,将出现次数作为value值
  16. * @param str 字符串
  17. */
  18. public static Map<Character,Integer> getNumberOfCharacters(String str){
  19. char [] chars = str.toCharArray();
  20. Map<Character,Integer> map = new HashMap<Character,Integer>();
  21.  
  22. for(char c:chars){
  23. if(map.containsKey(c)){
  24. map.put(c, map.get(c)+1);
  25. }else{
  26. map.put(c, 1);
  27. }
  28. }
  29.  
  30. //直接输出字符以及出现的个数
  31. for(Map.Entry<Character,Integer> entry :map.entrySet()){
  32. System.out.println("字符是"+entry.getKey()+"出现的次数是"+entry.getValue());
  33. }
  34.  
  35. return map;
  36. }
  37.  
  38. //排序map
  39. private static void sortMap(Map<Character, Integer> map) {
  40. List<Map.Entry<Character, Integer>> list = new ArrayList<Map.Entry<Character,Integer>>(map.entrySet());
  41. Collections.sort(list,new Comparator<Map.Entry<Character, Integer>>() {
  42.  
  43. //倒序排列
  44. @Override
  45. public int compare(Entry<Character, Integer> o1,
  46. Entry<Character, Integer> o2) {
  47. return o2.getValue().compareTo(o1.getValue());
  48. }
  49. });
  50.  
  51. //打印出现自出的字符以及次数
  52. System.out.println("出现次数最多的字符"+list.get(0).getKey()+"==次数为"+list.get(0).getValue());
  53. }

如有问题,请留言沟通,有更好的方法,请留言交流,谢谢.阅读全文

java-得到字符串中出现次数最最多的字符,并打印出字符以及出现次数的更多相关文章

  1. 使用 Java 查找字符串中出现次数最多的字符以及出现的次数?

    使用 Java 查找字符串中出现次数最多的字符以及出现的次数? import java.util.HashMap; import java.util.Map; public class TestStr ...

  2. Java求字符串中出现次数最多的字符

    Java求字符串中出现次数最多的字符  [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/51933611      Java ...

  3. java截取字符串中的数字

    java从字符串中提取数字 随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们如何把其中的数字提取 ...

  4. 三种java 去掉字符串中的重复字符函数

    三种java 去掉字符串中的重复字符函数 public static void main(string[] args) { system.out.println(removerepeatedchar( ...

  5. java 判断字符串中是否包含中文并过滤掉中文

      java判断字符串中是否包含中文并过滤掉中文 CreateTime--2017年9月6日08:48:59 Author:Marydon 1.判断字符串中是否包含中文方法封装 /** * 判断字符串 ...

  6. 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符

    原文:在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符 最近做项目的时候,经常用到一个字符串中的某些字符,处理起来非常的棘手,现在用下面的方法就可以很方便的从字符串中处理你想要的 ...

  7. C语言:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,-主函数中放入一个带头节点的链表结构中,h指向链表的头节点。fun函数找出学生的最高分-使用插入排序法对字符串中的字符进行升序排序。-从文件中找到指定学号的学生数据,读入次学生数据,

    //根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小与形参c一致,数量由形参d指定.例如:输入c为Y,d为4,则输出ZABC. #include <stdio.h> ...

  8. C语言:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删去,-将a所指字符串中的字符和b所指字符串中的字符的顺序交叉,-将形参s所指字符串中的所有数字字符顺序前移,

    //函数fun功能:将s所指字符串中下标为偶数同时ASCII值为奇数的字符删去,s所指串中剩余的字符形成的新串放在t所指的数组中. #include <stdio.h> #include ...

  9. java里如何实现循环打印出字符或字符数组里的内容

    不多说,直接上干货! java里如何实现循环打印出字符里的内容 没写,暂时不会 java里如何实现循环打印出字符数组里的内容 public class test { public static voi ...

随机推荐

  1. HTTP/0.9、HTTP/1.0、HTTP/1.1、HTTP/2 历史演变和设计思路(详)*

    HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP ...

  2. 比较C#中几种常见的复制字节数组方法的效率[转]

    [原文链接] 在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList<T>.Copy,BinaryReader.ReadByte ...

  3. HBuilder的默认工作空间的修改

    HBuilder的默认工作空间的修改并不像其他ide一样,在设置里进行更改,而是在工具中进行设置. 1.单击菜单栏“工具”,选择“变更默认代码存放目录” 2.进行修改即可.

  4. Python 相关疑问

    1. 如果我的脚本error handling 做的好,在ctrl+c退出的时候是不是不应该有任何traceback log? 2. repr() str() eval() 之间的区别? 3. 参数传 ...

  5. Ubuntu编译安装Apache

    第一步:编译安装依赖包apr,apr-util和pcre ./configure --prefix= make && make install 第二步:编译安装Apache ./con ...

  6. RabbitMQ六:通过routingkey模拟日志

    序言 本章文章进入深入了解RabbiMQ,平时项目中我们经常用到记录日志,常见的不外乎:Info.debug.warn.Error.     情境进入:先简单说一下我们需求,我们开发过程中会遇到很多日 ...

  7. 不支持正在使用的 .Net 组帧模式。有关详细信息,请参阅服务器日志--解决方案

    问题在于 NetTcpBinding 服务端和客户端配置不一致. 至少  客户端和服务端:安全性.是否启用可靠会话以及传输方式必须一致 主要是传输方式导致 "不支持正在使用的 .Net 组帧 ...

  8. JDK11源码分析之集合类(一)----HashMap

    一,首先需要拉取JDK11源码: 方便起见我给出芋道源码作者已经拉取好的openJDK11的GitHub地址只需要fork一下克隆到本地导入IDEA中就可以对源码分析了: https://github ...

  9. js实现元素水平垂直居中

    之前有写过css/css3实现元素的水平和垂直居中的几种方法点我,但是css3属性不是所有浏览器都能兼容的,今天写下js实现未知宽高的元素的水平和垂直居中. <!DOCTYPE html> ...

  10. PHP(二)常用函数

    数学函数 数组函数 字符串函数