使用Map集合将一个字符串转化为字符和出现次数,比如 aabbbsswacc 转化为 a3b3s2w1c2
时间: 2024-12-14 13:17:18 浏览: 4
在Java中,你可以使用`HashMap`或者`Map`接口(如果使用泛型)来实现这个功能。首先,创建一个空的Map,键是字符,值是计数。然后遍历输入的字符串,对于每个字符:
1. 如果字符已经在Map中,就将其对应的计数值加一。
2. 如果字符不在Map中,添加一个新的键值对,键是字符,值初始化为1。
以下是简单的示例代码:
```java
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String input = "aabbbsswacc";
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : input.toCharArray()) {
if (charCountMap.containsKey(c)) {
charCountMap.put(c, charCountMap.get(c) + 1);
} else {
charCountMap.put(c, 1);
}
}
// 输出结果
for (Map.Entry<Character, Integer> entry : charCountMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
运行这段代码后,你会得到如预期的结果:`a: 3`, `b: 3`, `s: 2`, `w: 1`, `c: 2`。
阅读全文