Map统计数组的相同字符的总数

 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Set;
 4 
 5 /**
 6  * <p>
 7  * 统计数组{"字","我","字","我","你","它","他","字","它","你","她","你",}
 8  * <p>
 9  * 中可能出现的重复的字符串,如果有重复的字符串,把它们找出来,并把它们重复的次数也打印出来;
10  * 
11  * @author entor11
12  *
13  */
14 public class StringTest {
15 
16     public static void main(String[] args) {
17 
18         // 找出重复的字符串,确定次数
19         // 将字符串-次数设计成映射
20         // 如果字符串没有出现过,那么它没有次数,对应集合是null
21         // 如果字符串出现过,只需要增加字符串键K对应的值V就可以了
22         Map<String, Integer> map = new HashMap<String, Integer>();
23 
24         // 定义字符串数组
25         String[] array = { "字", "我", "字", "我", "你", "它", "他", "字", "它", "你",
26                 "她", "你" };
27 
28         // 迭代数组
29         for (String key : array) {
30             // 在map中没有对应的K,但在数组中出现了
31             if (map.get(key) == null) {
32                 map.put(key, 1);// 元素在数组中出现一次
33             } else {// 数组中的元素再次在map中出现
34                 map.put(key, map.get(key) + 1);
35             }
36         }
37 
38         // 判断出现的次数
39         // 迭代集合
40         Set<String> keyset = map.keySet();
41         for (String key : keyset) {
42             if (map.get(key) >= 2) {
43                 System.out.println("重复元素:" + key + ",出现:" + map.get(key) + "次");
44             }
45         }
46     }
47 }

 

posted @ 2017-08-17 11:03  V尊者  阅读(518)  评论(0编辑  收藏  举报