Java程式統計每個字元出現的次數
在Java中,統計字串中每個字元出現的次數是一項常見的任務,可以使用HashMap高效地完成。HashMap允許我們儲存鍵值對,其中字串中每個唯一的字元都是一個鍵,而值是其出現的次數。
問題陳述
給定一個字串,我們需要統計每個字元在字串中出現的次數。例如,在字串thisisit中,字元t出現兩次,h出現一次,i出現三次,s出現兩次。
輸入
String myStr = "thisisit";
輸出
Counting occurrences of each character = {s=2, t=2, h=1, i=3}
統計每個字元出現的次數
以下是統計字元出現次數的步驟:
- 為了解決這個問題,我們使用HashMap來儲存每個字元作為鍵,以及其出現的次數作為值。我們迭代字串,對於每個字元:
- 步驟1. 使用containsKey()方法檢查該字元是否已經是HashMap中的鍵。
- 步驟2. 如果是,則遞增其計數。
- 步驟3. 如果不是,則將其新增到HashMap中,計數為1。
為了統計出現次數,我們使用HashMap。迴圈遍歷並使用containsKey()和charAt()方法,統計上述字串中每個字元出現的次數:
HashMap <Character, Integer> hashMap = new HashMap<>(); for (int i = myStr.length() - 1; i >= 0; i--) { if (hashMap.containsKey(myStr.charAt(i))) { int count = hashMap.get(myStr.charAt(i)); hashMap.put(myStr.charAt(i), ++count); } else { hashMap.put(myStr.charAt(i),1); } }
Java程式統計每個字元出現的次數
以下是統計每個字元出現次數的程式:
import java.util.HashMap; public class Demo { public static void main(String[] args) { String myStr = "thisisit"; System.out.println("String ="+myStr); HashMap <Character, Integer> hashMap = new HashMap<>(); for (int i = myStr.length() - 1; i >= 0; i--) { if (hashMap.containsKey(myStr.charAt(i))) { int count = hashMap.get(myStr.charAt(i)); hashMap.put(myStr.charAt(i), ++count); } else { hashMap.put(myStr.charAt(i),1); } } System.out.println("Counting occurrences of each character = "+hashMap); } }
輸出
String =thisisit Counting occurrences of each character = {s=2, t=2, h=1, i=3}
程式碼解釋
這個Java程式使用**HashMap**統計字串中每個字元出現的次數。字串**myStr**初始化為“thisisit”。然後建立一個**HashMap**來儲存字元作為鍵,以及它們的計數作為值。一個for迴圈反向迭代字串。對於每個字元,程式使用**containsKey**檢查它是否已存在於**HashMap**中。如果存在,則遞增計數;如果不存在,則新增該字元,計數為1。最後,程式列印**HashMap**,顯示“thisisit”中每個字元的計數,結果為{s=2, t=2, h=1, i=3}。
廣告