import java.util.HashMap;
import java.util.Map;
class Test {
/**
* 此方法实现统计字符串中字符个数逻辑,此方法返回Map集合, key为字符,value为字符出现的次数
*/
public static Map<Character, Integer> countChar(String str) {
char[] charArray = str.toCharArray(); // 将字符串转换为字符数组
Map<Character, Integer> map = new HashMap<Character, Integer>(); // 创建map对象用来存放数据
for (int i = 0; i < charArray.length; i++) { // 遍历该字符数组
Character key = charArray[i];
Integer va = map.get(key);
if (va != null) {
va += 1; // 如果作为key的字符前面已经出现过,则出现次数va加1
} else {
va = 1; // 如果作为key的字符前面没有出现过,则出现次数va为1
}
map.put(key, va); // 将字符极其出现的次数放进map集合,如果之前有,则覆盖
}
return map;
}
/**
* main方法入口
*/
public static void main(String[] args) {
String str = "123213sadfsafdsagdsssdfae4343"; // 需要统计的字符串
Map<Character, Integer> map = countChar(str); // 调用方法
System.out.println(map);
// 将str字符串放入字符串缓冲区
StringBuffer s = new StringBuffer(str);
// reverse()方法 就是将字符串反转
System.out.println(s.reverse());
}
} |