B:案例演示
Map集合的遍历之键找值
HashMap<String, Integer> hm = new HashMap<>();hm.put("张三", 23);hm.put("李四", 24);hm.put("王五", 25);hm.put("赵六", 26);/*Set<String> keySet = hm.keySet(); //获取集合中所有的键Iterator<String> it = keySet.iterator(); //获取迭代器while(it.hasNext()) { //判断单列集合中是否有元素 String key = it.next(); //获取集合中的每一个元素,其实就是双列集合中的键 Integer value = hm.get(key); //根据键获取值 System.out.PRintln(key + "=" + value); //打印键值对}*/for(String key : hm.keySet()) { //增强for循环迭代双列集合第一种方式 System.out.println(key + "=" + hm.get(key));}B:案例演示
Map集合的遍历之键值对对象找键和值
HashMap<String, Integer> hm = new HashMap<>();hm.put("张三", 23);hm.put("李四", 24);hm.put("王五", 25);hm.put("赵六", 26);/*Set<Map.Entry<String, Integer>> entrySet = hm.entrySet(); //获取所有的键值对象的集合Iterator<Entry<String, Integer>> it = entrySet.iterator();//获取迭代器while(it.hasNext()) { Entry<String, Integer> en = it.next(); //获取键值对对象 String key = en.getKey(); //根据键值对对象获取键 Integer value = en.getValue(); //根据键值对对象获取值 System.out.println(key + "=" + value);}*/for(Entry<String,Integer> en : hm.entrySet()) { System.out.println(en.getKey() + "=" + en.getValue());}C:源码分析
A:案例演示
需求:统计字符串中每个字符出现的次数 String str = “aaaabbbcccccccccc”; char[] arr = str.toCharArray(); //将字符串转换成字符数组 HashMap
A:案例演示
模拟斗地主洗牌和发牌,牌没有排序
//买一副扑克String[] num = {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};String[] color = {"方片","梅花","红桃","黑桃"};ArrayList<String> poker = new ArrayList<>();for(String s1 : color) { for(String s2 : num) { poker.add(s1.concat(s2)); }}poker.add("小王");poker.add("大王");//洗牌Collections.shuffle(poker);//发牌ArrayList<String> gaojin = new ArrayList<>();ArrayList<String> longwu = new ArrayList<>();ArrayList<String> me = new ArrayList<>();ArrayList<String> dipai = new ArrayList<>();for(int i = 0; i < poker.size(); i++) { if(i >= poker.size() - 3) { dipai.add(poker.get(i)); }else if(i % 3 == 0) { gaojin.add(poker.get(i)); }else if(i % 3 == 1) { longwu.add(poker.get(i)); }else { me.add(poker.get(i)); }}//看牌System.out.println(gaojin);System.out.println(longwu);System.out.println(me);System.out.println(dipai);新闻热点
疑难解答