Java入门:基础算法之从字符串中找到重复的字符

本文介绍了一个Java程序,用于统计并展示字符串中重复字符的数量。通过使用HashMap存储字符及其出现次数,能够有效地找出并打印所有重复的字符及各自的重复次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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("\nString: Hello World"); System.out.println("-------------------------"); obj.countDupChars("Hello World"); System.out.println("\nString: #@$@!#$%!!%@"); System.out.println("-------------------------"); obj.countDupChars("#@$@!#$%!!%@"); } }

 

转载于:https://www.cnblogs.com/bayes/p/5357067.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值