Java程序查找给定字符串中字符的频率


对于给定的字符串,编写一个Java程序来查找特定字符的频率。在Java中,字符串是一种数据类型,包含一个或多个字符,并用双引号 (“ ”) 括起来。


查找字符串中字符的频率

要查找给定字符串中字符的频率,请按照以下方法操作:

  • 使用for循环
  • 使用Stream API

使用for循环

在这种方法中,使用for循环将给定字符串中的每个字符与要查找频率的字符进行比较。每次匹配时,递增计数。

示例

在此示例中,我们使用嵌套for循环查找给定字符串中字符的频率。

public class FrequencyOfACharacter {
   public static void main(String args[]){
      String str = "Hi welcome to tutorialspoint";
      System.out.println("Given string value:: " + str);
      char character = 't';
      System.out.println("Finding frequency of character:: " + character);
      int count = 0;
      for (int i=0; i<str.length(); i++){
         if(character == str.charAt(i)){
            count++;
         }
      }
      System.out.println("Frequency of the given character:: "+count);
   }
}

运行代码后,将显示以下结果:

Given string value:: Hi welcome to tutorialspoint
Finding frequency of character:: t
Frequency of the given character:: 4

使用Stream API

这是另一种查找给定字符串中字符频率的方法。在这里,我们使用Java流,它用于处理对象集合。在这种方法中,filter()方法将过滤出与给定字符匹配的字符。

示例

以下示例说明了如何使用Stream API查找给定字符串中字符的频率。

import java.util.stream.IntStream;
public class FrequencyOfACharacter {
   public static void main(String[] args) {
      String str = "Hi welcome to tutorialspoint";
      System.out.println("Given string value:: " + str);
      char character = 'i';
      System.out.println("Finding frequency of character:: " + character);
      long count = IntStream.range(0, str.length())
                  .mapToObj(i -> str.charAt(i))
                  .filter(ch -> ch == character)
                  .count();

      System.out.println("The frequency of '" + character + "' is:: " + count);
   }
}

运行此代码后,将生成以下输出:

Given string value:: Hi welcome to tutorialspoint
Finding frequency of character:: i
The frequency of 'i' is:: 3

更新于:2024年7月31日

6K+浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告