A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. package Pratice_day18;

  2. import java.util.HashMap;

  3. public class HashMapTest2 {
  4.         public static void main(String[] args) {
  5.                 String s="cbxzbvavdvgd";
  6.                 //必须转化成引用类型
  7.                 //int类型会报错
  8.                 HashMap<Character,Integer> map = new HashMap<Character,Integer>();
  9. //                将字符串转化成字符数组
  10.                 char[] chs=s.toCharArray();
  11. //                        遍历数组 增强for
  12.                 for (char c : chs) {
  13.                         if (map.containsKey(c)) {
  14.                                 map.put(c, 1);
  15.                         }
  16.                         else if(!(map.containsKey(c))){
  17.                                 map.put(c,map.get(c)+1);
  18.                         }
  19.                 }
  20.                 System.out.println(map);
  21.         }
  22. }
复制代码


5 个回复

正序浏览
不知楼主问题解决没?现在才看到呢。判断错了,if是判断的存在,存在肯定是把集合中的次数取出来+1啊,下面判断的key不存在,就直接 map.put(c, 1);
回复 使用道具 举报
foreach里面可以修改元素吗? foreach底层是Iterator
回复 使用道具 举报
运行后 十九行报错 空指针异常
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马