A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Без_тебя 于 2014-6-12 20:17 编辑

为了简单的熟悉map的运用,我在这边做了一个简单的实例:单词分拣,可以把英文句子里面的单词都分拣出来,并且算出每个单词句中出现几次,请问在这边大家还有什么更好的建议吗?


public class Demo {
        /**
         * @param args
         */
        public static void main(String[] args) {
                System.out.println("请输入英文句子:");
                Scanner sc = new Scanner(System.in);
                String str = sc.nextLine();
                //将英文句子用空格分开
                String[] letters = str.split(" ");
                //遍历每一个单词,如果没有在map中的话,新建一个Letter类给他,并作为value存入到map中,如果有的话,Letter的count值加1
                Map<String,Letter> map = new HashMap<String,Letter>();
               
               
                //遍历letters中的单词
                for(String temp : letters){
                        Letter letter = null;
                        //如果map中包含有temp单词则给他的值Letter的count加上1
                        if(map.containsKey(temp)){
                                letter = map.get(temp);
                                letter.setCount(letter.getCount()+1);
                        }else{
                                //如果map中没有包含temp单词,则初始化,给他一个Letter值,并且count为1
                                letter = new Letter(temp,1);
                        }
                        //将temp作为键,letter作为值放入到map中,如果map中已经有了temp,会自动覆盖temp的值
                        map.put(temp, letter);
                }
               
               
                Set<String> set = map.keySet();
                System.out.println("====单词个数=====");
                for(String temp : set){
                        Letter letter = map.get(temp);
                        System.out.println(letter.getName()+":"+letter.getCount());
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马