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}。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP