思路:先将字符串转换为字符数组,然后利用Map的Key唯一不可重复的特性,将字符作为String类型的Key,将字符出现次数作为Key对应的Integer类型的Vaule。 每出现相同的的字符,valule+1.
package MapTest;
import java.util.HashMap;
import java.util.Map;
/**
* @program: practice0612
* @description: 给出一个字符串,利用Map计算每个字符出现次数
* @author: jsg
* @create: 2019-06-12 16:05
**/
public class MapTest {
public static void main(String[] args) {
String s = "abcdefga";
String[] split = s.split(""); //分割字符串,将原本字符串分割成一个字符串类型的数组
Map<String,Integer> map=new HashMap<>();
for (String s1 : split) {//循环split数组
Integer integer = map.get(s1);//声明一个整数类型的对象储存次数,第一次循环时,map中没有"a",所以integer=null
if(integer==null){
map.put(s1,1);//如果integer=null,说明这个字符第一次出现,value内放1
}else{
map.put(s1,1+integer);//如果integer不为空,说明这个字符出现过,integer+1
}
}
System.out.println(map.toString());//最后输出
}
}
输出:
文末高亮感谢胡哥悉心教导。
虽然不能@,但是防不住我们有链接:https://me.csdn.net/qq_41594146
哈哈哈哈哈哈哈哈