欢迎访问宙启技术站
智能推送

如何使用Java函数统计字符串中各字符出现的次数?

发布时间:2023-06-13 12:06:25

在Java中,要统计字符串中各字符出现的次数,可以使用HashMap类。HashMap是一个key-value键值对存储结构的类,可以用来统计每个字符出现的次数。

以下是基本实现步骤:

1. 创建一个HashMap实例

HashMap<Character, Integer> map = new HashMap<>();

说明:该HashMap使用Character类型作为键,使用Integer类型作为值,用来存储每个字符出现的次数。

2. 遍历字符串中的每个字符,将字符作为键,出现的次数作为值存储在HashMap中

for (char c : str.toCharArray()) { //将字符串转化为字符数组进行遍历

    if (map.containsKey(c)) { //如果字符已经在map中,就将次数加1

        int count = map.get(c);

        map.put(c, count + 1);

    } else {          //如果字符不在map中,就加入键值对,初始值为1

        map.put(c, 1);

    }

}

说明:遍历字符串中的每个字符,使用字符作为键,如果该字符已经存在于HashMap中,则将其对应的值加1,否则将该字符作为键,初始值为1,存储在HashMap中。

3. 输出统计结果

for (char c : map.keySet()) {

    System.out.println("字符:" + c + " 出现次数:" + map.get(c));

}

说明:遍历HashMap中的每个键,输出键值对,即字符和其出现的次数。

完整代码示例:

import java.util.*;

public class CountChars {

    public static void main(String[] args) {

        String str = "Hello World";

        HashMap<Character, Integer> map = new HashMap<>();

        for (char c : str.toCharArray()) {

            if (map.containsKey(c)) {

                int count = map.get(c);

                map.put(c, count + 1);

            } else {

                map.put(c, 1);

            }

        }

        for (char c : map.keySet()) {

            System.out.println("字符:" + c + " 出现次数:" + map.get(c));

        }

    }

}

运行结果:

字符:  出现次数:1

字符:r 出现次数:1

字符:d 出现次数:1

字符:H 出现次数:1

字符:W 出现次数:1

字符:o 出现次数:2

字符:l 出现次数:3

字符:e 出现次数:1