当前位置:   article > 正文

Java Map案例1--统计字符串中每个字符串以及个数_用户输入一个字符串,记录字符串每个字符的个数java用map怎么做

用户输入一个字符串,记录字符串每个字符的个数java用map怎么做

Java  Map集合案例1--统计字符串中每个字符串以及个数

  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.Scanner;
  4. import java.util.Set;
  5. import org.junit.Test;
  6. /* Java案例——统计字符串中每个字符串出现的次数 */
  7. public class Lianxi03{
  8. @Test
  9. public void test01() {
  10. //输入一个字符串
  11. Scanner sc = new Scanner(System.in);
  12. String str = sc.next();
  13. //创建一个集合对象,键值对的类型分别为Character,Integer,分别用于保存字符和字符的次数
  14. Map<Character,Integer> map = new HashMap<Character,Integer>();
  15. //字符串改为字符数组
  16. char[] array = str.toCharArray();
  17. //遍历数组,得到每一个字符
  18. for(Character c:array) {
  19. if(map.containsKey(c))//先判断集合中是否存在某一个字符,字符作为key,如果存在,则获取其
  20. //对应的value,也就是字符的次数,然后字符的次数加1
  21. {
  22. Integer num = map.get(c);//得到value,也就是字符对应的次数,
  23. num++;//此时该字符的数目需要加1
  24. //得到字符的新的数目过后,需要添加到集合对应字符的value中去,此时需要重新键-值对,
  25. map.put(c, num);
  26. }else {//此一步表示集合没有该该字符,也就是集合中不存在以c为键值的Key,需要将该字符作为键保存在集合中去,并
  27. //赋值value1
  28. map.put(c, 1);
  29. }
  30. }
  31. //以上步骤完成了字符串的个数统计,每个字符串以及其对应的个数作为键值对保存到map中去了,
  32. //遍历map,首先获取map的键(key)集合
  33. Set<Character> set = map.keySet();
  34. for(Character c:set) {//遍历key
  35. System.out.println(c+"-------->"+map.get(c));
  36. }
  37. }
  38. }

输入结果如下所示:

  1. bjkdskj
  2. b-------->1
  3. s-------->1
  4. d-------->1
  5. j-------->2
  6. k-------->2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/67206
推荐阅读
相关标签
  

闽ICP备14008679号