黑马程序员技术交流社区

标题: 定义方法统计集合中指定元素出现的次数,如"a" 3," [打印本页]

作者: 刘⑥⑥⑥    时间: 2016-3-30 23:00
标题: 定义方法统计集合中指定元素出现的次数,如"a" 3,"
分析以下需求,并用代码实现:
        (1)有如下代码:
                List<String> list = new ArrayList<>();
               
                list.add("a");
                list.add("a");
                list.add("a");
                list.add("b");
                list.add("b");
                list.add("c");
                list.add("d");
                list.add("d");
                list.add("d");
                list.add("d");
                list.add("d");
               
                System.out.println(frequency(list, "a"));        // 3
                System.out.println(frequency(list, "b"));        // 2
                System.out.println(frequency(list, "c"));        // 1
                System.out.println(frequency(list, "d"));        // 5
                System.out.println(frequency(list, "xxx"));        // 0
        (2)定义方法统计集合中指定元素出现的次数,如"a" 3,"b" 2,"c" 1
{:2_30:}{:2_30:}{:2_30:}
作者: dwt1397261    时间: 2016-3-30 23:09
遍历集合,定义计数器 ,字符出现在集合内计数器自加一次
作者: 刘⑥⑥⑥    时间: 2016-3-30 23:10
dwt1397261 发表于 2016-3-30 23:09
遍历集合,定义计数器 ,字符出现在集合内计数器自加一次

这位帅哥,写思路也把思路写清晰啊,能否直接发代码标注
作者: WHAT2    时间: 2016-3-31 00:01
public static void main(String[] args) {
                List<String> list = new ArrayList<>();
                list.add("a");
                list.add("a");
                list.add("a");
                list.add("b");
                list.add("b");
                list.add("c");
                list.add("d");
                list.add("d");
                list.add("d");
                list.add("d");
                list.add("d");
               
                 HashMap<Character, Integer> hm = new HashMap<>();
                 String s = "";
                for (String c : list) {
                        s=s+c;
                }
                char[] arr = s.toCharArray();
                for (char c : arr) {
                        if(!hm.keySet().contains(c)){
                                hm.put(c, 1);
                        }else{
                                hm.put(c, hm.get(c)+1);
                        }
                }
                for (Character c : hm.keySet()) {
                        System.out.println(c+"出现的次数是:"+hm.get(c)+"次");
                }
        }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2