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+瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告