关于List、Set集合以及Map的使用

package tingjizifu;

import java.util.*;

public class TongJi {
    /*
     * 使用Scanner从控制台读取一个字符串,统计字符串中每个字符出现的次数,要求使用学习过的知识完成以上要求
     * 实现思路根据Set、List、Map集合的特性完成。
     */
    public static void main(String[] args) {

        // 输入字符串
        Scanner input = new Scanner(System.in);
        String shuRu = input.next();
        // 把字符串字符装入List集合
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < shuRu.length(); i++) {
            list.add(String.valueOf(shuRu.charAt(i)));
        }
        // 把字符串字符装入Set集合
        Set<String> set = new HashSet<String>();
        for (int i = 0; i < shuRu.length(); i++) {
            set.add(String.valueOf(shuRu.charAt(i)));
        }
        // 用Set中的字符与List中的字符进行比较,相同就加1进行计数,
        // 然后把Set集合中的字符作为键(key),统计的数作为值(value),最后打印出Map中的数据
        Map<String, Integer> map = new HashMap<String, Integer>();
        for (String str : set) {
            int sum = 0;
            // System.out.println(str);
            for (int i = 0; i < list.size(); i++) {
                if (list.get(i).equals(str)) {
                    sum++;
                }
            }
            map.put(str, sum);
        }
        Set<String> ss = map.keySet();
        for (String str : ss) {
            System.out.println(str + "出现次数为" + map.get(str) + "次");
        }
        input.close();
    }

}

 

posted @ 2016-08-05 12:13  我不看我不看  阅读(593)  评论(0编辑  收藏  举报