首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字符串中字符出现重复字符

字符串中字符出现重复字符

作者头像
崔笑颜
发布2020-06-08 17:18:21
1.7K0
发布2020-06-08 17:18:21
举报

下面是总结的一些常见问题,以供大家参考

  1. 第一次出现重复字符
  2. 出现的重复字符
  3. 出现字符串、字符还有次数
  4. 出现次数最多的字符及次数
class Eclass{
    public static void main(String[] args) {
        String str = "eeeejwurihewweafa";
        Eclass e = new Eclass();
        //问题一
        int index = e.Method(str);
        String result = str.charAt(index)+"";
        System.out.println(result);
        //问题二
        List<Character> list = e.douMethod(str);
        for (Character c :list
             ) {
            System.out.println(c+"\t");
        }
        //问题三
        e.stringCount(str);

        //问题四
        e.maxString(str);

    }
    //第一次出现重复字符
    public int Method(String str){
        int index=-1;
        int length=str.length();
        for (int i=0;i<length;i++){
            char c = str.charAt(i);
            //在str中从i+1开始检索,如果c存在,返回第一个c的下标,如果不存在返回-1
            if ((str.indexOf(c,i+1))!=-1){
                index=i;
                break;
            }
        }
        return index;
    }
    //出现的重复字符
    public List<Character>  douMethod(String str){
        int index=-1;
        int length=str.length();
        List list = new ArrayList();
        for (int i=0;i<length;i++){
            char c = str.charAt(i);
            //在str中从i+1开始检索,如果c存在,返回第一个c的下标,如果不存在返回-1
            if ((str.indexOf(c,i+1))!=-1){
                index=i;
                //判断集合中是否存在
                if (!list.contains(c))
                list.add(c);
            }
        }
        return list;
    }
    //出现字符串、字符还有次数
    public void stringCount(String str){
        Map<Character,Integer> map = new HashMap<>();
        for (int i= 0; i<str.length();i++){
            if (map.get(str.charAt(i))!=null){
                map.put(str.charAt(i),map.get(str.charAt(i))+1);
            }else {
                map.put(str.charAt(i),1);
            }
        }
        System.out.println(map);
    }
    //出现次数最多的字符的次数
    public void maxString(String str) {
        Map<Character, Integer> map = new HashMap<>();
        int max = 0;		//出现最多的次数
        String maxCha="";  //次数最多的字符
        for (int i = 0; i < str.length(); i++) {
            if (map.get(str.charAt(i)) != null) {
                map.put(str.charAt(i), map.get(str.charAt(i)) + 1);
            } else {
                map.put(str.charAt(i), 1);
            }
        }
        for (Character c: map.keySet()
        ){
            if (map.get(c)>max){
                max=map.get(c);
                maxCha=c+"";
            }else {
                max=max;
            }
        }
        System.out.println("出现最多的字符:"+maxCha+",出现了"+max+"次");
    }
  }
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档