首页 > 代码库 > java LinkedHashMap,TreeMap,HashMap

java LinkedHashMap,TreeMap,HashMap

 1     /**
 2  3      * 需求:统计字符串中每个字符出现的次数
 4      * 
 5      * 分析:
 6      * 1,定义一个需要被统计字符的字符串
 7      * 2,将字符串转换为字符数组
 8      * 3,定义双列集合,存储字符串中字符以及字符出现的次数
 9      * 4,遍历字符数组获取每一个字符,并将字符存储在双列集合中
10      * 5,存储过程中要做判断,如果集合中不包含这个键,就将该字符当作键,值为1存储,如果集合中包含这个键,就将值加1存储
11      * 6,打印双列集合获取字符出现的次数
12      */
13     public static void main(String[] args) {
14         //1,定义一个需要被统计字符的字符串
15         String s = "aaaabbbbbccccccccccccc";
16         //2,将字符串转换为字符数组
17         char[] arr = s.toCharArray();
18         //3,定义双列集合,存储字符串中字符以及字符出现的次数
19         HashMap<Character, Integer> hm = new HashMap<>();
20         //4,遍历字符数组获取每一个字符,并将字符存储在双列集合中
21         for(char c: arr) {
22             //5,存储过程中要做判断,如果集合中不包含这个键,就将该字符当作键,值为1存储,如果集合中包含这个键,就将值加1存储
23             /*if(!hm.containsKey(c)) {            //如果不包含这个键
24                 hm.put(c, 1);
25             }else {
26                 hm.put(c, hm.get(c) + 1);
27             }*/
28             hm.put(c, !hm.containsKey(c) ? 1 : hm.get(c) + 1);
29         }
30         //6,打印双列集合获取字符出现的次数
31         
32         for (Character key : hm.keySet()) {                //hm.keySet()代表所有键的集合
33             System.out.println(key + "=" + hm.get(key));//hm.get(key)根据键获取值
34         }
35     }
HashMap<Student, String> hm88 = new HashMap<>();        
HashMap<Student, String> hm99 = new HashMap<>();    
//hm88.put(...)... HashMap
<HashMap<Student, String>, String> hm = new HashMap<>(); hm.put(hm88, "甲"); hm.put(hm99, "乙"); //遍历双列集合 for(HashMap<Student, String> h : hm.keySet()) { //hm.keySet()代表的是双列集合中键的集合 String value = http://www.mamicode.com/hm.get(h); //get(h)根据键对象获取值对象 //遍历键的双列集合对象 for(Student key : h.keySet()) { //h.keySet()获取集合总所有的学生键对象 String value2 = h.get(key); System.out.println(key + "=" + value2 + "=" + value); } }

 

  

java LinkedHashMap,TreeMap,HashMap