首页 > 代码库 > 【1】求字符串出现次数最多的字符及次数

【1】求字符串出现次数最多的字符及次数

 1 package com.exe.test1; 2  3 import java.util.HashMap; 4 import java.util.Map; 5  6 /** 7  * 输入一串字符串,求出重复次数最多的字母 8  * @author WGS 9  */10 public class Exe1 {11 12     public static String getRepeatCharacter(String str){13         StringBuilder sb=new StringBuilder(128);14         Map<Character,Integer> map=new HashMap<>();//Character:将要添加额字符,Integer:字符对应的次数15         16         //aavzbbcdeaabb17         for(int i=0;i<str.length();i++){18             char c=str.charAt(i);19             //map逐个添加str字符,如果含有将要添加的字符,就将对应的次数+120             if(map.containsKey(c)){21                 map.put(c, map.get(c)+1);22             }23             //如果不含有将要添加的字符,即为第一次添加,将其次数设置为124             else{25                 map.put(c, 1);26             }27         }28         //获取次数最多的29         int max=Integer.MIN_VALUE;30         //先遍历Map中的value值,即字符对应的次数,找到最大的那个次数31         for(Map.Entry<Character,Integer> entrySet:map.entrySet()){32             Integer value=http://www.mamicode.com/entrySet.getValue();33             //获取value值最大那个34             if(max < value){35                 max = value;36             }37         }38         //再次遍历Map,如果字符对应的次数与max相等,即表明此字符出现次数最多39         for(Map.Entry<Character,Integer> entrySet:map.entrySet()){40             Character key=entrySet.getKey();41             Integer value=http://www.mamicode.com/entrySet.getValue();42             if(value=http://www.mamicode.com/=max){43                 sb.append(key).append(":").append(value).append("\n");44             }45         }46         return sb.toString();47     }48     public static void main(String[] args) {49         System.out.println("出现次数最多的字符及次数是::"+getRepeatCharacter("eaafffvzebbcsdafedeaabffffebefff"));50     }51 52 }

 

【1】求字符串出现次数最多的字符及次数