zoukankan      html  css  js  c++  java
  • 面试题 字符串中找出现次数最多的字母以及次数

    @Test
    public void uuidtest() {
    String Str = "aaabbcdddddeeeeeee";
    char[] StrArr = Str.toCharArray();// 把字符串转为字符数组toCharArray

    Map<Character, Integer> map = new HashMap<Character, Integer>();
    if (!(StrArr == null || StrArr.length == 0))// 先判断字符数组是否为空
    for (int i = 0; i < StrArr.length; i++) {
    if (map.get(StrArr[i])!=null)
    // 若不为空,说明已经存在相同字符,则Value值在原来的基础上加1
    map.put(StrArr[i], map.get(StrArr[i]) + 1);
    else
    map.put(StrArr[i], 1);
    }
    // 找map中Value的最大值maxValue,类似于选择排序,寻找最大值的过程:
    // 先任取一个Value值定义为最大值,然后与之比较
    int maxValue = map.get(StrArr[0]);
    char ch = ' ';
    for (int j = 0; j < StrArr.length; j++) {
    if (maxValue < map.get(StrArr[j])) {
    maxValue = map.get(StrArr[j]);
    ch = StrArr[j];
    }
    }
    System.out.println("现次数最多的字符:" + ch + " 出现次数:" + maxValue);
    }
  • 相关阅读:
    JavaEE思维导图
    JAVA EE期末项目-企业论坛
    RPC
    SQL、HQL、JPQL、CQL的对比
    eqauls和hashCode的对比
    关于JSON
    JavaServer Faces标准请求/响应周期
    Applets
    Ajax
    Async分析
  • 原文地址:https://www.cnblogs.com/inbeijing/p/8556015.html
Copyright © 2011-2022 走看看