zoukankan      html  css  js  c++  java
  • 给一组字符输出里面出现次数最多的一个以及它出现的次数

    public class Tset {
        //给一组字符输出里面出现次数最多的一个以及它出现的次数
        public static void main(String[] args) {
            String str="hfhghgfhgfhghddgghh";
            Map map=new HashMap();//这个map中 key是组成str的每个字符(a,b,c,1),value是字符出现的次数
            
            for (int i = 0; i < str.length(); i++) {//循环str字符串
                String s=str.substring(i,i+1);//取出一个字符串
                //System.out.println(s);
                if (map.containsKey(s)) {//如果这个字符作为key在map已存在
                    int value=Integer.parseInt(map.get(s).toString());//获取对应的value并转换为int
                    map.remove(s);//删除map中的这列数据
                    map.put(s, value+1);//重新加入新的一列数据,key为字符,value为以前的value+1
                }else {
                    map.put(s, 1);//如果不存在直接添加进去,并且value为1
                }
            }
            
            //System.out.println("map的长度: "+map.size());
            int maxValue=0;//存储最大value
            String maxKey="";//存储最大key
            for(Object o :map.entrySet()){//遍历这个map,并获取具有最大值的map对象的key与value放入以上两个变量(类似于冒泡排序)
                Map.Entry me=(Entry) o;
                //System.out.print("key: "+me.getKey());
                //System.out.print("value: "+me.getValue());
                String key=me.getKey().toString();
                int value=Integer.parseInt(me.getValue().toString());
                if(value>maxValue){
                    maxValue=value;
                    maxKey=key;
                }
            }
            System.out.println("出现最多的是: "+maxKey +" 总共出现了: "+maxValue+"次");//输出结果
        }
    
    }
  • 相关阅读:
    关于oc中自动引用计数 小结
    xcode6中导航栏 控制view用程序编写
    oc中深拷贝与浅拷贝
    关于c语言 指针课堂随笔
    oc中设置手动引用和自动引用图解
    利用xcode6做出牛的一逼的计算器
    利用xcode6 使用代码写出英格兰国旗
    oc中字典的应用详解
    c和oc排序程序与见解
    关于Xcode6beta2 新学者使用 工程的建立
  • 原文地址:https://www.cnblogs.com/fifiyong/p/6405489.html
Copyright © 2011-2022 走看看