zoukankan      html  css  js  c++  java
  • Java入门:基础算法之从字符串中找到重复的字符

    本程序演示从一个字符串中找出重复的字符,并显示重复字符的个数。

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
     
    public class Details {
     
      public void countDupChars(String str){
     
        //创建一个HashMap对象
        Map<Character, Integer> map = new HashMap<Character, Integer>(); 
     
        //将字符串转换为char数组
        char[] chars = str.toCharArray();
     
        /* logic: 将每个字符插入到map中,map中的每个元素是[key,value]的组合,
         * key记录字符,value记录这个字符出现的次数。
         * 如果map中已经存在ch,则修改该字符出现的次数(原来次数+1)。
         * 如果map中还没有ch,则将ch插入到map中,key为ch的值,value为1*/
        for(Character ch:chars){
          if(map.containsKey(ch)){
             map.put(ch, map.get(ch)+1);
          } else {
             map.put(ch, 1);
            }
        }
     
        //获得map的键集
        Set<Character> keys = map.keySet();
     
        /* 对出现超过1次的字符,显示其个数.
         */
        for(Character ch:keys){
    int n = map.get(ch);//从map中获取ch的个数
    if(n > 1){ System.out.println("Char "+ch+" "+n); } } } public static void main(String a[]){ Details obj = new Details(); System.out.println("String: www.google.com"); System.out.println("-------------------------"); obj.countDupChars("www.google.com"); System.out.println(" String: Hello World"); System.out.println("-------------------------"); obj.countDupChars("Hello World"); System.out.println(" String: #@$@!#$%!!%@"); System.out.println("-------------------------"); obj.countDupChars("#@$@!#$%!!%@"); } }
  • 相关阅读:
    MiracleSnow网页设计HTML5+CSS3+JS全套视频教程
    Java开发者应该列入年度计划的5件事
    大爱HTML5 9款超炫HTML5最新动画源码
    10个PHP代码片段
    斯坦福大学即将上线10门公开课
    如何成为一个偷懒又高效的Android开发人员
    github版本库使用详细教程
    PHP5中PDO的简单使用
    Github 已经托管超过 1000 万个项目库
    DIOCP转发型中间网关
  • 原文地址:https://www.cnblogs.com/bayes/p/5357067.html
Copyright © 2011-2022 走看看